Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.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 如何在连接期间忽略空字符串?_Java_Android - Fatal编程技术网

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这不是工作