【问题标题】:How to extract string[] from List<MyStructure>如何从 List<MyStructure> 中提取字符串 []
【发布时间】:2011-11-28 21:20:49
【问题描述】:

我只想将我的结构的“名称”属性提取到一个字符串[]中。

我知道必须有一个聪明的解决方案 - 但我不知道要寻找什么。

List<MyStruct> myStruct1;

public class MyStruct1 {

    public String name1;
    public List<MyStruct2> myStruct2;
}

public class MyStruct2 {
    public String name2;
    public List<MyStruct3> myStruct3;
}

而我正在寻找的是

String[] names1 = ? the array of all name1 coming from MyStruct1 ?

我知道简单列表的.toArray 转换,但我不知道如何从结构内部获取它。我认为有一个无需手动循环的解决方案。

非常感谢!

【问题讨论】:

    标签: android arrays list


    【解决方案1】:

    也许我忽略了一些东西,但是:

    String[] names = new String[myStruct1.length()];
    for(int i = 0; i < myStruct1.length(); ++i) {
        names[i] = myStruct1.get(i).name1;   
    }
    

    或者,MyStruct1 和 MyStruct2 是 MyStruct 的子类,而您只想要来自 MyStruct2 对象的名称?

    【讨论】:

    • 谢谢 - 我看到你正在使用循环。我希望有另一种类似于目标 C 的方法,无需循环即可获取所有值。 (顺便说一下,列表有 size(),而不是 length())
    • 简单循环有什么问题?是什么让您相信内置函数没有执行相同的循环?
    • 没有“问题”——我只是认为有一种“更优雅”的方式——就像在目标 C 中一样
    猜你喜欢
    • 2016-11-05
    • 2012-03-03
    • 2013-09-09
    • 2020-11-20
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多