如何拆分 java 中的字符串数组值?

how to split string array values in java?

如何拆分字符串数组值,然后存储代表字符串变量?像这样 name=name

class Test{
   public static void main(String[] args){

   String myarray[] ={"name","age","qualification","gender"};
   String name;
   String gender;
   String qualification,
   String age;

     for(int i =0;i<myarray.length;i++){
         name=myarray[i];
    }

}

为什么你不能做下面这样的事情?

    String myarray[] = {"name", "age", "qualification", "gender"};
    String name;
    String gender;
    String qualification;
    String age;
    for (String i : myarray) {
        switch (i) {
            case "name":
                name = i;
                break;
            case "age":
                age = i;
                break;
            case "qualification":
                qualification = i;
                break;
            case "gender":
                gender = i;
                break;
            default:
                break;

        }
    }

这里不能使用for循环。 只需使用 name=myarray[0]; age=myarray[1]; qualification=myarray[2]; gender=myarray[3];

除非你部署一些超级复杂的反思策略,否则你将无法做到这一点,这对你的感知水平来说毫无帮助。

相反,您实际上可以做一些更简单的事情。如果你知道你总是会得到一个大小为 4 的数组并且这些位置将始终包含该数据,你可以通过它们的索引位置来引用它们。为该索引位置指定一个有意义的名称也会使您受益,这样您就不会忘记从中获得的信息。

final int NAME = 0;
final int AGE = 1;
final int QUALIFICATION = 2;
final int GENDER = 3;

// refer to them by the constants above
name = myarray[NAME];
// repeat for the others

如果您可以使用 HashMap 而不是 String,您可以这样做:

  String myarray[] = {"name", "age", "qualification", "gender"};

  HashMap<String, String> foo = new HashMap<String, String>();

  for(String i : myarray) {
      foo.put(i, i);
  }

  System.out.println(foo.get("name"));
  System.out.println(foo.get("age"));
  System.out.println(foo.get("qualification"));
  System.out.println(foo.get("gender"));

这样您就不必记住数组的哪个索引包含哪些信息,而只需记住键的名称,因为您必须记住变量的名称。