如何使用方法初始化類中的字符串?dāng)?shù)組?private static String[] strNrs2 = {"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}; private static String[] colo = arr();private String[] arr(){ String[] str99 = new String[strNrs2.length]; for (int i = 0; i<strNrs2.length;i++){ str99[i]= new StringBuilder(strNrs2[i]).reverse().toString(); } return str99; }我要這個 :private static String[] strNrs2 = {"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"};看起來像這樣: private static String[] strNrs = {"oreZ","enO","owT","eerhT","ruoF","eviF","xiS","neveS","thgiE","eniN"};但我只想做一次。因?yàn)槲矣?jì)劃循環(huán)使用該數(shù)組的方法數(shù)百萬次。因此它會大大降低我的運(yùn)行速度。完整代碼: public class IntToStr { private static String[] strNrs2 = {"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine"}; public static String intToStr(int nr) { StringBuilder str = new StringBuilder(""); while (nr>0) { int pop = nr%10; nr= nr/10; str.append(new StringBuilder(strNrs2[pop]).reverse().toString()); //By using this str.append(strNrs[pop]); runtime will increase considerably. } return str.reverse().toString(); } public static void main(String[] args) { for (int i = 0; i<10000000;i++) intToStr(5555555); System.out.println("Finished"); }}
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個贊
下面的數(shù)組初始化:
private static String[] colo = arr();
不起作用,因?yàn)?code>arr()它是一個非靜態(tài)方法,所以它不能在初始化變量的靜態(tài)上下文中調(diào)用static
。
您必須創(chuàng)建arr()
一個static
方法才能使該static
數(shù)組初始化工作:
private static String[] arr() { ... }
添加回答
舉報
0/150
提交
取消