连接Java对象数组中的字段

Mar*_*ski 1 java arrays string field object

我是Java的新手.我有一个具有字符串字段的对象数组.我可以通过循环将所有字符串连接成一个字符串数组,但它非常不优雅.

int numObj = obj.length;
String[] strArray = new String[numObj];
for (int i = 0; i < numObj; i++) {
    strArray[i] = obj[i].strField;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个命令中将所有对象中的单个字段连接成字符串数组?例如:

String[] strArray = (String[]){obj[].strField};
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它obj[]是一个数组,因此它没有任何字段,但使用{obj.strField}也不起作用,因为没有被调用的对象obj.顺便说一下,我真的不需要重新演绎这个领域,或者.toString()因为它已经是一个字符串了.

我看了很多很多其他帖子(但也许还不够?)与此相关,但我仍然无法弄清楚这一点.有些引用将对象数组转换为字符串数组,但我不认为这些帖子意味着转换对象中的特定字段,而是将对象本身转换为uncast类型.

在MATLAB中,这将是微不足道的:strCellArray = {obj.strField};obj立即从所有strField创建一个字符串的单元格数组.

谢谢你的帮助.

JB *_*zet 7

你做的是唯一的方法.但是,您不必为数组的长度创建变量.使用公共领域是99.99%的时间,这是一个非常糟糕的主意:

String[] strings = new String[objects.length];
for (int i = 0; i < objects.length; i++) {
    strings[i] = objects[i].getStringField();
}
Run Code Online (Sandbox Code Playgroud)