如何使用方法初始化类中的字符串数组?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"};但我只想做一次。因为我计划循环使用该数组的方法数百万次。因此它会大大降低我的运行速度。完整代码: 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贡献1834条经验 获得超8个赞
下面的数组初始化:
private static String[] colo = arr();
不起作用,因为arr()
它是一个非静态方法,所以它不能在初始化变量的静态上下文中调用static
。
您必须创建arr()
一个static
方法才能使该static
数组初始化工作:
private static String[] arr() { ... }
添加回答
举报
0/150
提交
取消