如何将字符串(这种形式:“0 100 300 200”)转换为 Java (Android) 中的 long 数组?
你能看一下我的代码吗?
public long[] ConvertStringToLongArray(String tekst)
{
int L1 = tekst.length();
long[] somelong = new long[L1];
String[] tekstarray = tekst.split(" ");
for (int i=0;i<=L1;i++)
{
somelong[i] = Long.parseLong(tekstarray[i]);
}
return somelong;
}
这是学校社区信息申请的一部分。
我是 Java 编程初学者。
最佳答案
代码基本没问题。
不过,您确实遇到的一个错误是用 L1
初始化 somelong
的长度。 L1
是 tekst
中的字符数,因此这会导致数组末尾出现一堆无意的零。正确的大小应与 tekstarray
相同。
编辑:
正如 Luiggi Mendoza 评论的那样,用 "\\s+"
而不是 ""
进行分割可以解决数字被多个空格分隔的任何问题。
public long[] ConvertStringToLongArray(String tekst)
{
String[] tekstarray = tekst.split("\\s+");
long[] somelong = new long[teksarray.length];
for (int i = 0; i <= somelong.length; i++)
{
somelong[i] = Long.parseLong(tekstarray[i]);
}
return somelong;
}
关于java - 如何在 Java 中将字符串 ("0 100 300 200") 转换为 long 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582463/