将字符串转换为ArrayList <MyClass>

迪玛

我想像这样转换String myString

[ ["cd",5,6,7], ["rtt",55,33,12], ["by65",87,87,12] ]

变成一个 ArrayList<CustomClass>

哪里CustomClass有构造函数:

public CustomClass (String name, int num1, int num2, int num3)

我第一次尝试创建ArrayListStrings

List<String> List = new ArrayList<String>(Arrays.asList(myString.split("[")));

不是为我工作...

我如何得到这样的东西:

List - {CustomClass,CustomClass,CustomClass,CustomClass}

第一的 CustomClass = CustomClass.name="cd" , CustomClass.num1=5,CustomClass.num2=7...

第二 CustomClass = CustomClass.name="rtt",CustomClass.num1=55,CustomClass.num2=55...

等等...

Syam S

你可以做类似的事情。如果您不能保证字符串格式,则可能必须添加其他检查以检查拼接数组的长度和索引。

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class CustomClass {
    String name;
    int num1;
    int num2;
    int num3;

    public CustomClass(String name, int num1, int num2, int num3) {
        super();
        this.name = name;
        this.num1 = num1;
        this.num2 = num2;
        this.num3 = num3;
    }
}

public class Sample {

    public static void main(String[] args) {
        String str = "[ [\"cd\",5,6,7], [\"rtt\",55,33,12], [\"by65\",87,87,12] ]";
        Pattern p = Pattern.compile("\\[(.*?)\\]");
        Matcher m = p.matcher(str.substring(1));
        List<CustomClass> customList = new ArrayList<CustomClass>();
        while (m.find()) {
            String[] arguments = m.group(1).split(",");
            customList.add(new CustomClass(arguments[0], 
                                            Integer.parseInt(arguments[1]), 
                                            Integer.parseInt(arguments[2]), 
                                            Integer.parseInt(arguments[3])));
        }
    }

}

Gson解决方案

public static void main(String[] args) {
    String json = "[ [\"cd\",5,6,7], [\"rtt\",55,33,12], [\"by65\",87,87,12] ]";
    List<CustomClass> customList = new ArrayList<CustomClass>();
    String[][] data = new Gson().fromJson(json, String[][].class);
    for (String[] strArray : data){
        customList.add(new CustomClass(strArray[0], 
                Integer.parseInt(strArray[1]), 
                Integer.parseInt(strArray[2]), 
                Integer.parseInt(strArray[3])));
    }
    System.out.println(customList);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从List <MyClass>强制转换为List <Interface>

来自分类Dev

java枚举-无法从MyClass.Result转换为int

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

将arrayList multimap转换为json字符串?

来自分类Dev

无法将'void(MyClass :: *)()'转换为'void(*)()

来自分类Dev

将arraylist int转换为字符串

来自分类Dev

无法将类型从System.Collection.Generic.IEnumerable.MyClass <Node>隐式转换为MyClass <Node>

来自分类Dev

JPA将List <Tuple>转换为List <myClass>

来自分类Dev

MyClass :: class-获取MyClass的字符串表示形式

来自分类Dev

如何将List << MyClass>强制转换为List <T>?

来自分类Dev

将HashMap的ArrayList转换为JSON字符串

来自分类Dev

将MyClass <TDescendent>转换为MyClass <TAncestor>

来自分类Dev

如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

来自分类Dev

如何序列化字典<MyClass,字符串>

来自分类Dev

将自定义定界字符串转换为List <myClass>?

来自分类Dev

ArrayList <MyClass>问题

来自分类Dev

将字符串转换为ArrayList <String>

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

将arrayList multimap转换为json字符串?

来自分类Dev

将字符串转换为日期格式以添加到字符串arraylist

来自分类Dev

如何将字符串转换为ArrayList?

来自分类Dev

Java将对象转换为MyClass

来自分类Dev

如何将List << MyClass>强制转换为List <T>?

来自分类Dev

将字符串转换为Java中的嵌套ArrayList

来自分类Dev

如何将List <String>转换为List <MyClass>?

来自分类Dev

将Collection <myClass>转换为Collection <String>

来自分类Dev

错误:不兼容的类型:对象无法转换为 MyClass

来自分类Dev

无法将“MyClass”转换为“MyClass”

来自分类Dev

如何将 MyClass 类型的实例添加到 MyClass 中声明的 MyClass 数组中,在 MyClass 的构造函数中?

Related 相关文章

  1. 1

    从List <MyClass>强制转换为List <Interface>

  2. 2

    java枚举-无法从MyClass.Result转换为int

  3. 3

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  4. 4

    将arrayList multimap转换为json字符串?

  5. 5

    无法将'void(MyClass :: *)()'转换为'void(*)()

  6. 6

    将arraylist int转换为字符串

  7. 7

    无法将类型从System.Collection.Generic.IEnumerable.MyClass <Node>隐式转换为MyClass <Node>

  8. 8

    JPA将List <Tuple>转换为List <myClass>

  9. 9

    MyClass :: class-获取MyClass的字符串表示形式

  10. 10

    如何将List << MyClass>强制转换为List <T>?

  11. 11

    将HashMap的ArrayList转换为JSON字符串

  12. 12

    将MyClass <TDescendent>转换为MyClass <TAncestor>

  13. 13

    如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

  14. 14

    如何序列化字典<MyClass,字符串>

  15. 15

    将自定义定界字符串转换为List <myClass>?

  16. 16

    ArrayList <MyClass>问题

  17. 17

    将字符串转换为ArrayList <String>

  18. 18

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  19. 19

    将arrayList multimap转换为json字符串?

  20. 20

    将字符串转换为日期格式以添加到字符串arraylist

  21. 21

    如何将字符串转换为ArrayList?

  22. 22

    Java将对象转换为MyClass

  23. 23

    如何将List << MyClass>强制转换为List <T>?

  24. 24

    将字符串转换为Java中的嵌套ArrayList

  25. 25

    如何将List <String>转换为List <MyClass>?

  26. 26

    将Collection <myClass>转换为Collection <String>

  27. 27

    错误:不兼容的类型:对象无法转换为 MyClass

  28. 28

    无法将“MyClass”转换为“MyClass”

  29. 29

    如何将 MyClass 类型的实例添加到 MyClass 中声明的 MyClass 数组中,在 MyClass 的构造函数中?

热门标签

归档