Java 如何在连接期间忽略空字符串?
如何在连接期间忽略空字符串Java 如何在连接期间忽略空字符串?,java,android,Java,Android,如何在连接期间忽略空字符串 String a1 = ""; String a2 = text1; String a3 = ""; String a4 = text1; String a5 = text1; String a6 = ""; String a7 = text1; String a8 = ""; String a9 = ""; System.out.println(a1+a2+a3+a4
String a1 = "";
String a2 = text1;
String a3 = "";
String a4 = text1;
String a5 = text1;
String a6 = "";
String a7 = text1;
String a8 = "";
String a9 = "";
System.out.println(a1+a2+a3+a4+a5+a6+a7+a8+a9);
我需要一个仅输出的非空字符串,提前谢谢。您可以通过使用.length()检查字符串的长度来检查字符串是否为空 e、 g:
String empty = "";
System.out.println(empty.length());
-> this is gonna print 0
所以你可以做这样的假设:
if(string.length() != 0){
// then do something because the string is not empty
}
String a1 = "";
String a2 = "hello";
String a3 = "";
String a4 = "";
String a5 = " friend";
String a6 = "";
System.out.println(a1+a2+a3+a4+a5+a6);
String finalString="";
if(!a1.isEmpty()){
finalString= finalString+a1;
}
if(!a2.isEmpty()){
finalString= finalString+a2;
}
if(!a3.isEmpty()){
finalString= finalString+a3;
}
if(!a4.isEmpty()){
finalString= finalString+a4;
}
if(!a5.isEmpty()){
finalString= finalString+a5;
}
if(!a6.isEmpty()){
finalString= finalString+a6;
}
System.out.println(finalString);
编辑:正如Sergey Vasnev提到的,java字符串有一个isEmpty()方法,这更好
public static void main(String[] args) {
String[] stringArray = {"value1", "", "value3", "","","value6"};
String result = "";
for(int i = 0 ; i < stringArray.length ; i++){
if(!stringArray[i].isEmpty()){
if(i != 0){
result += "*";
}
result += stringArray[i];
}
}
System.out.print(result);
}
publicstaticvoidmain(字符串[]args){
字符串[]stringArray={“value1”、“”、“value3”、“”、“”、“value6”};
字符串结果=”;
对于(int i=0;i
我不明白您为什么要这样做,空字符串根本不会影响输出,例如,如果您的代码是这样的:
if(string.length() != 0){
// then do something because the string is not empty
}
String a1 = "";
String a2 = "hello";
String a3 = "";
String a4 = "";
String a5 = " friend";
String a6 = "";
System.out.println(a1+a2+a3+a4+a5+a6);
String finalString="";
if(!a1.isEmpty()){
finalString= finalString+a1;
}
if(!a2.isEmpty()){
finalString= finalString+a2;
}
if(!a3.isEmpty()){
finalString= finalString+a3;
}
if(!a4.isEmpty()){
finalString= finalString+a4;
}
if(!a5.isEmpty()){
finalString= finalString+a5;
}
if(!a6.isEmpty()){
finalString= finalString+a6;
}
System.out.println(finalString);
输出为:你好,朋友
但是你可以用这样的if来做:
if(string.length() != 0){
// then do something because the string is not empty
}
String a1 = "";
String a2 = "hello";
String a3 = "";
String a4 = "";
String a5 = " friend";
String a6 = "";
System.out.println(a1+a2+a3+a4+a5+a6);
String finalString="";
if(!a1.isEmpty()){
finalString= finalString+a1;
}
if(!a2.isEmpty()){
finalString= finalString+a2;
}
if(!a3.isEmpty()){
finalString= finalString+a3;
}
if(!a4.isEmpty()){
finalString= finalString+a4;
}
if(!a5.isEmpty()){
finalString= finalString+a5;
}
if(!a6.isEmpty()){
finalString= finalString+a6;
}
System.out.println(finalString);
但正如我之前所说的,在屏幕上打印一些东西是没有意义的,使用静态助手方法来完成 系统输出打印项次(“s:+denull(s))
如果没有,请使用
if-else
语句查看这是否可行。!?你想忽略哪一部分?为什么?你期望得到什么样的输出?为什么?为什么要忽略它们?它们对输出没有影响(可能只是对性能部分)。如果出于性能原因需要连接字符串,最好使用StringBuilder。正如@EmersonMicu所说,它们不会影响输出,所以你的意思是它们可能是空白?如果是这样的话,您可以使用String.trim()
。我只想按升序获取不为空的字符串,以便用它们构建一个句子。ThanksString类有一个方法isEmpty(),现在更好了,我必须在每个串接的字符串之间添加一个*更新要添加*的代码strings@JochenRui这不是工作