4

Java中是否有将变量列表初始化为数组中相应对象的语法?

String hello, world;
String[] array = {"hello", "world"};

//I want:
{hello, world} = array;

//instead of:
hello = array[0];
world = array[1];

我想我记得 Matlab 中这种方便的语法,但我没有注意到在 Java 中实现这一点的方法。这种语法将帮助我组织我的代码。具体来说,我想在一个函数中输入一个对象数组,而不是多个参数中的每个数组成员,然后通过在方法范围内声明变量以对数组成员进行命名访问来开始该方法的代码. 例如:

String[] array = {"hello", "world"};

method(array);

void method(array){
   String {hello, world} = array;
   //do stuff on variables hello, world
}

感谢您的建议。-丹尼尔

4

2 回答 2

7

不,除了你已经给出的答案之外,在 Java 中没有办法做到这一点,即分别初始化每个变量。

但是,您也可以执行以下操作:

String[] array = { "hello", "world" };
final int HELLO = 0, WORLD = 1;

然后使用array[HELLO]array[WORLD]在任何你会使用变量的地方。这不是一个很好的解决方案,但是,Java 通常是冗长的。

于 2013-07-03T17:44:38.143 回答
0

具体来说,我想在一个函数中输入一个对象数组,而不是多个参数中的每个数组成员

这似乎是您应该使用对象而不是数组的情况。特别是因为在您的示例中,您似乎使用数组来表示具有两个字段的对象,hello并且world

class Parameters {
  String hello;
  String world;

  public Parameters(String hello, String world) {
    this.hello = hello;
    this.world = world;
  }
}

//...
Parameters params = new Parameters("hello", "world");
method(params);
//...

void method(Parameters params) {
  // do stuff with params.hello and params.world
}
于 2013-07-03T18:34:25.780 回答