Java中是否有可能将String
分解为多个int
个变量?
String s = "1,2,3,4,5,6";
喜欢
int var1 = 1;
int var2 = 2;
int var3 = 3;
等等。
Thanks
答案 0 :(得分:4)
String s = "1,2,3,4,5,6";
String[] vars = s.split(",");
int [] varIn= new int[vars.lenght]
for (int i=0;i<vars.lenght;i++)
{
varIn[i]= Integer.parseInt(vars[i]);
}
==> varIn[0]=1;
varIn[1]=2;
etc..
答案 1 :(得分:0)
除非使用反射,否则无法为每个变量动态分配值。
您可以做的是split the string on the commas,convert each token into an integer并将这些值放入集合中。
例如:
int[] result;
String s = "1,2,3,4,5,6";
String[] tokens = s.split(",");
result = new int[tokens.length];
for(int i = 0; i < tokens.length; i++){
result[i] = Integer.parseInt(tokens[i]);
}
现在,您可以访问result
数组中的每个值(可能通过将var1
指定给result[1]
)。
如上所述:您也可以使用反射将其直接添加到变量中,但这通常表明您的设计在某处出错。
答案 2 :(得分:0)
split()方法更贴切一个。另一种方法是使用StringTokenizer类,如下所示
String abc = "1,2,3,4";
int i = 0;
StringTokenizer st = new StringTokenizer(abc,",");
int array[] = new int[st.countTokens()];
while (st.hasMoreTokens()) {
array[i] = Integer.parseInt(st.nextToken().toString());
i++;
}
我知道你的问题已经解决了。但是这段代码只是为了介绍StringTokenizer的使用