gpt4 book ai didi

Java 对象数组项到字符串数组

转载 作者:行者123 更新时间:2023-12-01 07:42:13 25 4
gpt4 key购买 nike

假设我有以下内容:

Class myclass
{
public string stra ="", strb = ""
myclass(String a, String b){stra=a;strb=b}
}


//then in the app I want to do:

myclass myclassinst1 = new myclass("blah","xxxx");
myclass myclassinst2 = new myclass("blah2","yyyy");
myclass myclassinst3 = new myclass("blah3","zzzz");

list <myclass> mylist = new ArrayList<myclass>();
mylist.add(myclassinst1 );
mylist.add(myclassinst2 );
mylist.add(myclassinst3 );

//How would I then convert that to a String[] Array of all the stra elements without using a loop.
//eg:
String[] strarr_a = mylist.toarray(myclass.stra);
String[] strarr_b = mylist.toarray(myclass.strb);


//instead of having to do
String[] strarr_a = new String[mylist.size()];
String[] strarr_b = new String[mylist.size()];
for (int i=0;i<mylist.size();i++)
{
strarr_a[i] = mylist.get(i).stra;
strarr_b[i] = mylist.get(i).strb;
}

最佳答案

没有简单的方法可以做到这一点,例如使用标准 Java API 方法。您必须自己编写循环。

请注意,您的代码中存在许多错误(缺少分号、拼写错误的类名,例如 stringlist,以及关键字是 ,而不是)。

我会这样写:

class MyClass {
// Note that it's bad practice to make fields public.
// Also, you do not need to initialize fields to "" if you're going to initialize them in the constructor.
private String stra;
private String strb;

public MyClass(String a, String b) {
this.stra = a;
this.strb = b;
}

public String getStra() {
return stra;
}

public String getStrb() {
return strb;
}
}

MyClass myclassinst1 = new MyClass("blah","xxxx");
MyClass myclassinst2 = new MyClass("blah2","yyyy");
MyClass myclassinst3 = new MyClass("blah3","zzzz");

List<MyClass> mylist = new ArrayList<MyClass>();
mylist.add(myclassinst1);
mylist.add(myclassinst2);
mylist.add(myclassinst3);

List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();

for (MyClass obj : mylist) {
list1.add(obj.getStra());
list2.add(obj.getStrb());
}

String[] strarrA = list1.toArray(new String[list1.size()]);
String[] strarrB = list2.toArray(new String[list2.size()]);

关于Java 对象数组项到字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com