2017-04-27 79 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; 
}