Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用带for循环的串联生成字符串名称_Java_String_Concatenation - Fatal编程技术网

Java 使用带for循环的串联生成字符串名称

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";

我想用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";
        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;i
StringBuilder参数=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]);