【发布时间】:2017-12-17 17:19:01
【问题描述】:
我想用 Stringbuilder 创建一个 long[] 数组,但是使用这段代码我得到“java.lang.NumberFormatException:”
protected long[] getpattern(int numbercount, int value) {
StringBuilder longstringbuilder = new StringBuilder();
while(numbercount > 0) {
longstringbuilder.append("100, ");
longstringbuilder.append(value + ", ");
numbercount--;
}
longstringbuilder.append("100");
String longstring = longstringbuilder.toString();
long[] pattern = new long[] {Long.parseLong(longstring)};
return pattern;
}
我该如何解决这个问题? 谢谢你的回答
【问题讨论】:
-
为什么你认为你的语法会起作用?您正在创建一个包含单个项目的数组,并且该项目来自解析一个长且不正确的字符串,这会导致异常。使用列表而不是字符串生成器。
-
为什么要使用一种专为操纵文本而设计的类型来构建数字数组?你想在这里完成什么?为什么不使用
long[] array = new long[numbercount];然后循环填充它? (或numbercount * 2,如果您希望每个value值之间的值为100。)
标签: java arrays string long-integer stringbuilder