如何将字符串分成许多变量

时间:2014-02-28 22:13:42

标签: java

Java中是否有可能将String分解为多个int个变量?

String s = "1,2,3,4,5,6";

喜欢

int var1 = 1;

int var2 = 2;

int var3 = 3;

等等。

Thanks

3 个答案:

答案 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 commasconvert 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的使用