簡體   English   中英

Arraylist轉換為字符串並返回到arraylist

[英]Arraylist to string and back to arraylist

我想將(TestObject)的ArrayList轉換為String,反之亦然。 我還附加了主要活動,因此您可以看到我要創建的方法。

MainActivity:創建ArrayList的位置,需要將其轉換為String。

public class MainActivity extends AppCompatActivity {
ArrayList<TestObject> testObjects;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    testObjects = new ArrayList<>();
    testObjects.add(new TestObject("Name1", "Attribute1"));
    testObjects.add(new TestObject("Example", "Example"));
}


private String convertObjectArrayToString(ArrayList<TestObject> arrayToBeConverted){
    return null;
}

private ArrayList<TestObject> convertStringToObjectArray(){

    return null;
}

}

ArrayList中的對象:

public class TestObject {

private String name;
private String attribute;

TestObject(String name, String attribute){
    this.name = name;
    this.attribute = attribute;
}

public void setAttribute(String attribute) {
    this.attribute = attribute;
}

public void setName(String name) {
    this.name = name;
}

public String getName() {
    return name;
}

public String getAttribute() {
    return attribute;
}
}

// ArrayList轉換為String Convert:

String listToJson = new Gson().toJson(testObjects);

// ViceVersa String獲取數組列表:

Type listType = new TypeToken<List>() {}.getType();

List myModelList = new Gson().fromJson(listToJson, listType);

更新:

 myModelList = gson.fromJson(br, new TypeToken<ArrayList< TestObject >>(){}.getType());

首先在onCreate()方法中填充arraylist:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    testObjects = new ArrayList<>();
    testObjects.add(new TestObject("Name1", "Attribute1"));
    testObjects.add(new TestObject("Example", "Example"));
    convertObjectArrayToString(testObjects)
}

現在調用將arraylist轉換為字符串的方法

private String convertObjectArrayToString(ArrayList<TestObject> arrayToBeConverted){

String listString = "";
for (String s : arrayToBeConverted)
{
    listString += s + "\t";
}
System.out.println(listString);
return listString;
}

實現字符串到arraylist的方法

private ArrayList<TestObject> convertStringToObjectArray(){
Gson gson = new Gson();
TypeToken<ArrayList<Publication>> token = new TypeToken<ArrayList<TestObject>>() {
    };
ArrayList<TestObject> pb = gson.fromJson(str, token.getType());
    return testObjects ;
}

更改您的數據類:TestObject

    public class TestObject {

    private String name;
    private String attribute;

    TestObject(String name, String attribute){
        this.name = name;
        this.attribute = attribute;
    }

    public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    public String getAttribute() {
            return attribute;
        }

        public void setAttribute(String attribute) {
            this.attribute = attribute;
        }

    }

要將ArrayList轉換為String:

    ArrayList<TestObject> testObjects;
     testObjects = new ArrayList<>();
     testObjects.add(new TestObject("Name1", "Attribute1"));   
     testObjects.add(new TestObject("Example", "Example"));

            for (int i=0;i<testObjects.size();i++)
            {

               String name = testObjects.get(i).getName();
               String attribute = testObjects.get(i).getAttribute();

               System.out.println(name);
               System.out.println(attribute);

            }

    You will get the items in the array list as Strings....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM