Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java对象数组连接字段_Java_Arrays_String_Object_Field - Fatal编程技术网

从Java对象数组连接字段

从Java对象数组连接字段,java,arrays,string,object,field,Java,Arrays,String,Object,Field,我是Java的新手。我有一个包含字符串字段的对象数组。我可以通过循环将所有字符串连接到一个字符串数组中,但这非常不雅观 int numObj = obj.length; String[] strArray = new String[numObj]; for (int i = 0; i < numObj; i++) { strArray[i] = obj[i].strField; } 这不起作用,因为obj[]是一个数组,因此它没有任何字段,但使用{obj.strField}也不起

我是Java的新手。我有一个包含字符串字段的对象数组。我可以通过循环将所有字符串连接到一个字符串数组中,但这非常不雅观

int numObj = obj.length;
String[] strArray = new String[numObj];
for (int i = 0; i < numObj; i++) {
    strArray[i] = obj[i].strField;
}
这不起作用,因为obj[]是一个数组,因此它没有任何字段,但使用{obj.strField}也不起作用,因为没有称为obj的对象。顺便说一句,我真的不必重铸字段或执行.toString,因为它已经是一个字符串了

我看了很多其他的帖子,但可能还不够?但我还是搞不清楚。有些文章提到将对象数组转换为字符串数组,但我认为这些文章并不意味着将对象中的特定字段转换为uncast类型,而是将对象本身转换为uncast类型

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


谢谢你的帮助。

你所做的是唯一的办法。不过,您不必为数组的长度创建变量。99.99%的时候,使用公共字段是一个非常糟糕的主意:

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

你所做的是唯一的办法。不过,您不必为数组的长度创建变量。99.99%的时候,使用公共字段是一个非常糟糕的主意:

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

对不起,你几乎必须做循环。与其他一些语言相比,Java在这方面有点不雅观。Java 8、9或10可能会解决此问题:-对不起,你几乎必须做循环。与其他一些语言相比,Java在这方面有点不雅观。Java 8、9或10可能会解决此问题:-感谢您提供的关于保持字段私密性的提示。感谢您提供的关于保持字段私密性的提示。