Java 使用带for循环的串联生成字符串名称
我想用Java创建一个运行时字符串名称。Java 使用带for循环的串联生成字符串名称,java,string,concatenation,Java,String,Concatenation,我想用Java创建一个运行时字符串名称。 我尝试了一些类似于在JavaScript中使用的东西,但它正在打印分配给字符串状态名称0的值,如状态名称0 public static void GetPaymentStatusList(){ int i=0; String Status_Name_0="Open"; String Status_ID_0="0"; String Status_Name_1="Approved";
我尝试了一些类似于在JavaScript中使用的东西,但它正在打印分配给字符串状态名称0的值,如状态名称0
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);
}
}
public静态无效GetPaymentStatusList(){
int i=0;
字符串状态\u Name\u 0=“打开”;
字符串状态\u ID\u 0=“0”;
字符串状态\u Name\u 1=“已批准”;
字符串状态\u ID\u 1=“1”;
字符串状态\u Name\u 2=“已拒绝”;
字符串状态_ID_2=“2”;
对于(i=0;iStringBuilder参数=new StringBuilder();
参数append(“shopid”
+“=”+shopDetails.getShopId()+”&“+”用户名“+”=”+userDetail.getUserName()+”&“+”用户ID“+”=”+userDetail.getUserId()+“&”);
对于(int i=0;i
但它打印的是像Status\u Name\u 0这样的值,而不是Open
因为这就是你添加到列表中的内容
获得您想要的东西的方法是Map
而列表
比向任何变量追加整数更可取
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;
}
public静态列表getPaymentStatusList(){
列表=新的ArrayList();
paymentStatusList.add(新的PaymentStatus(0,“打开”);
PaymentStatus列表。添加(新的PaymentStatus(1,“已批准”);
paymentStatusList.add(新的PaymentStatus(2,“拒绝”));
退货清单;
}
实际上,您正在将字符串“Status\u name\u”与“0”连接起来,这将导致“Status\u name\u 0”,一个字符串,而不是像Status\u name\u 0那样的变量。据我所知,您需要字符串\u name\u I(I=0,1,2,…)的值。要使其正常工作,请使用字符串数组
String[] string_names = { "Open", "Approved", "Denied" };
int[] string_id = { 0, 1, 2 };
:您可能不需要字符串id数组,因为您可以在for循环中使用i的值
并将它们添加到列表中,如下所示:
Vars.PaymentStatusName_List.add(string_name[i]);
为此,请使用字符串生成器或字符串缓冲区发布您的完整代码..在哪里打印值..thanxx yaar我将尝试@Abdulkawee您想要什么?…当然,acha非常感谢@Abdulkawee请解释您的答案,而不是转储不相关的、难以阅读的代码。我要求他发布您的字符串,这是他想要的,并不意味着难以阅读的代码好吧,实际上我不知道这是我想要的
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);
}
}
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;
}
String[] string_names = { "Open", "Approved", "Denied" };
int[] string_id = { 0, 1, 2 };
Vars.PaymentStatusName_List.add(string_name[i]);