Java 如何在没有空值的情况下显示列表中转换的字符串?

Java 如何在没有空值的情况下显示列表中转换的字符串?,java,Java,我有下面的代码 String Roletext=null; for(String text1:Rolelist1) { Roletext+=text1+","; } 我想将列表转换为字符串。然后我显示值。它将null作为第一个值。如果未初始化,则会显示错误。请帮助。解决您的问题: String Roletext=""; for(String text1:Rolelist1) { Roletext +=text1+","; } 原因是当您使用null进行连接时,字符串会在值后面

我有下面的代码

String Roletext=null;
for(String text1:Rolelist1)
{
    Roletext+=text1+",";
}

我想将列表转换为字符串。然后我显示值。它将null作为第一个值。如果未初始化,则会显示错误。请帮助。

解决您的问题:

String Roletext="";
for(String text1:Rolelist1)
{
    Roletext +=text1+",";
}
原因是当您使用
null
进行连接时,字符串会在值后面附加
“null”

我的建议:

String Roletext="";
for(String text1:Rolelist1)
{
    Roletext +=text1+",";
}
我建议您使用字符串连接而不是字符串连接

   StringBuilder b=new StringBuilder();
    for(String text1:Rolelist1)
    {
          b.append(text1).append(",");
    }

String Roletext=b.toString().replaceAll(",$", "");//get rid of last comma

您的问题解决方案:

String Roletext="";
for(String text1:Rolelist1)
{
    Roletext +=text1+",";
}
原因是当您使用
null
进行连接时,字符串会在值后面附加
“null”

我的建议:

String Roletext="";
for(String text1:Rolelist1)
{
    Roletext +=text1+",";
}
我建议您使用字符串连接而不是字符串连接

   StringBuilder b=new StringBuilder();
    for(String text1:Rolelist1)
    {
          b.append(text1).append(",");
    }

String Roletext=b.toString().replaceAll(",$", "");//get rid of last comma

您应该首先初始化字符串

String Roletext="";
int i;
for(i = 0;i < Rolelist1.size() - 1;i++)
{
    Roletext+=Rolelist1.get(i)+",";
}
Roletext+=Rolelist1.get(i);

您应该首先初始化字符串

String Roletext="";
int i;
for(i = 0;i < Rolelist1.size() - 1;i++)
{
    Roletext+=Rolelist1.get(i)+",";
}
Roletext+=Rolelist1.get(i);
定义如下:

String Roletext ="";
定义如下:

String Roletext ="";

这是一个完美的示例,其中建议使用:

StringBuilder roleText = new StringBuilder();
for(String text1:Rolelist1) {
    if(roleText.length() > 0) {
        roleText.append(",");
    }
    roleText.append(text1);
}

顺便说一句:长度上的if构造是我经常用来防止任何前导或尾随逗号的,它是防止这种情况的最优雅的解决方案;-)

这是一个完美的例子,建议使用:

StringBuilder roleText = new StringBuilder();
for(String text1:Rolelist1) {
    if(roleText.length() > 0) {
        roleText.append(",");
    }
    roleText.append(text1);
}

顺便说一句:长度上的if构造是我经常用来防止任何前导或尾随逗号的,它是防止这种情况的最优雅的解决方案;-)

必须先初始化字符串的斜体

String Roletext="";
但是使用
String
对象使用循环构建字符串并不是一种好的做法。改用:


您必须首先将字符串初始化为斜体

String Roletext="";
但是使用
String
对象使用循环构建字符串并不是一种好的做法。改用:

现在它将不接受任何空值,如果string text=“”,则字符串最初为空。 但若我们用null初始化它,那个么字符串将第一个值作为null。 Null表示某个随机值,但不表示为空

现在它将不接受任何空值,如果string text=“”,则字符串最初为空。 但若我们用null初始化它,那个么字符串将第一个值作为null。 Null表示某个随机值,但不表示为空。

这样做吗

String Roletext=null;
Rolelist1.remove(Collections.singleton(null)); //This line will remove all null from Rolelist1
for(String text1:Rolelist1) 
{
    Roletext+=text1+",";
}
你喜欢这样吗

String Roletext=null;
Rolelist1.remove(Collections.singleton(null)); //This line will remove all null from Rolelist1
for(String text1:Rolelist1) 
{
    Roletext+=text1+",";
}

不要使用
+=
。改用。请然后跟着。请不要使用
+=
。改用。请然后跟着。请。最好对循环使用常规
,并防止在末尾添加
。最好对
循环使用常规
,并防止在末尾添加
。@MarounnMaroun修复了它:)最好使用StringBuilder.deleteCharAt(),否则,您将无法达到使用的目的stringbuilder@MarounMaroun修复了:)最好使用StringBuilder.deleteCharAt(),否则就无法达到使用StringBuilder的目的了对不起,我错了。对不起,我弄错了。编辑