2017-04-27 83 views
1

我想在Java中創建運行時字符串名稱。
我想是這樣使用的JavaScript,但它是印刷價值就像Status_Name_0代替打開分配給字符串Status_Name_0使用與for循環連接構建字符串名稱

public static void GetPaymentStatusList(){ 
     int i=0; 
     String Status_Name_0="Open"; 
     String Status_ID_0="0"; 
     String Status_Name_1="Approved"; 
     String Status_ID_1="1"; 
     String Status_Name_2="Denied"; 
     String Status_ID_2="2"; 
     for(i=0; i<3; i++){ 
      Vars.PaymentStatusName_List.add("Status_Name_"+i); 
      Vars.PaymentStatusId_List.add("Status_ID_"+i); 
     } 
    } 
+4

使用字符串生成器或字符串緩衝區用於此目的 –

+0

發表您的全code..where要打印值.. – Meenal

+0

thanxx yaar我會嘗試@AbdulKawee –

回答

0

你實際上串聯字符串「Status_name_」與「0」,這將導致「Status_name_0」,一個字符串,而不是像Status_name_0的變量。據我所知,你需要String_name_i(i = 0,1,2,...)的值。爲了得到這個工作,使用String數組。

String[] string_names = { "Open", "Approved", "Denied" }; 

int[] string_id = { 0, 1, 2 }; 

:您可能不需要string_id數組,因爲您可以在for循環中使用i的值。

然後在列表中添加像他們:

Vars.PaymentStatusName_List.add(string_name[i]); 
+0

這就是我想thaxx亞爾 –

-3
StringBuilder param = new StringBuilder(); 
param.append("shopid" 
     + "=" + shopDetails.getShopId() + "&" + "username" + "=" + userDetail.getUserName() + "&" + "userid" + "=" + userDetail.getUserId() + "&"); 
for (int i = 0; i < brandList.size(); i++) { 
    param.append("brandId" + "[" + i + "]" + "=" + brandList.get(i).getBrandId() 
      + "&" + "shortqua" + "[" + i + "]" + "=" + shortageStockList.get(i) + "&"); 
} 
param.append("lattude" + "=" + String.valueOf(latitude) + "&" + "longitude" + "=" + String.valueOf(longitude)); 
+0

請發佈您的硬代碼字符串我會讓它 –

+0

感謝上面的代碼單獨完整的代碼 –

+0

請解釋您的答案,而不是轉儲無關的,難以閱讀的代碼,請。 –

1

但打印像Status_Name_0值,而不是打開

因爲這就是y OU添加到列表...

add("Status_Name_"+i); 

的方式得到你想要的是什麼Map<String, String>

Map<String, String> map = new HashMap<>(); 
map.put("Status_Name_0", "Open"); 
// ... 

for (int i=0;i<map.size();i++) { 
    String open = map.get("Status_Name_"+i); 
} 

你怎麼樣使一些類,而不是有關係嗎?

public class PaymentStatus { 

    int id; 
    String name; 

    public PaymentStatus(int id, String name) { 
     this.id = id; 
     this.name = name; 
    } 

    @Override 
    public String toString() { 
     return String.format("%s[id: %d, name: %s]", 
      getClass().getSimpleName(), id, name); 
    } 
} 

而一個List<PaymentStatus>將在追加整數的變量是首選。

public static List<PaymentStatus> getPaymentStatusList() { 
    List<PaymentStatus> list = new ArrayList<>(); 

    paymentStatusList.add(new PaymentStatus(0, "Open")); 
    paymentStatusList.add(new PaymentStatus(1, "Approved")); 
    paymentStatusList.add(new PaymentStatus(2, "Denied")); 

    return list; 
}