2013-04-25 72 views
0

我有以下程序,它解析JSON并形成一个ArrayList,如图所示。如何用一些预定义值初始化数组列表?

我怎样才能initialze的MYSYMBOLS ArrayList的在这里,所以它总是每次由一些预定义符号

有四个预定义的符号,即(“DYY”,“LIIO”,“AFD”,“XCF” ),所以,这将是永远的finalSymbolsList

一部分,我可以手动做这一步实现这个

List<String> finalSymbolsList = jw.getMySymbols(); 

finalSymbolsList.add("DYY"); 
finalSymbolsList.add("LIIO"); 
finalSymbolsList.add("AFD"); 
finalSymbolsList.add("XCF"); 

=================== ===

import java.util.List; 

import org.codehaus.jackson.map.ObjectMapper; 

import com.JsonDTO; 

public class Test { 

    public static void main(String args[]) { 

     try { 
      String request = "{\r\n" + " \"mySymbols\": [\r\n" 
        + "  \"TEST\",\"A\"\r\n" + " ]\r\n" + "}"; 

      ObjectMapper mapper = new ObjectMapper(); 
      JsonDTO jw = mapper.readValue(request, JsonDTO.class); 
      List<String> finalSymbolsList = jw.getMySymbols(); 

      System.out.println(finalSymbolsList); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

} 

=======================================

package com; 

import java.util.ArrayList; 
import java.util.Arrays; 

public class JsonDTO { 

    private ArrayList<String> mySymbols = new ArrayList<String>(); 

    public ArrayList<String> getMySymbols() { 
     return mySymbols; 
    } 

    public void setMySymbols(ArrayList<String> mySymbols) { 
     this.mySymbols = mySymbols; 
    } 


} 

回答

1

试试这个

new String[] {"One","Two","Three","Four"} 
or 

List<String> places = Arrays.asList("One", "Two", "Three") 

或写一个构造函数

public ClassName() 
{ 
    list = new ArrayList<String>(); 
    list .add("ONE"); 
    list .add("TWO"); 
    list .add("THREE"); 
    list .add("FOUR"); 
} 
0
List<String> places = Arrays.asList("DYY" , "LIIO" , "AFD" , "XCF") 
0

只需填写构造函数列表

public JsonDTO() { 
    mySymbols.addAll(finalSymbolsList); 
} 
1

另外的双支架初始化:

List<String> finalSymbolsList = new ArrayList<String>() {{ 
    add("DYY"); 
    add("LIIO"); 
    add("AFD"); 
    add("XCF"); 
}} 
0

另一种替代方法将是

List<String> finalSymbolsList = new ArrayList<String>(); 
Collections.addAll(finalSymbolsList ,"DYY" , "LIIO" , "AFD" , "XCF");