相关疑难解决方法(0)

检查Java中的字符串是空还是null

我正在解析HTML数据.在String可能null或空,当解析这个词不匹配.

所以,我这样写了:

if(string.equals(null) || string.equals("")){
    Log.d("iftrue", "seem to be true");
}else{
    Log.d("iffalse", "seem to be false");
}
Run Code Online (Sandbox Code Playgroud)

当我删除时String.equals(""),它无法正常工作.

我以为String.equals("")不正确.

我怎样才能最好地检查空String

java

322
推荐指数
5
解决办法
77万
查看次数

将字符串与空字符串进行比较(Java)

我有一个关于在Java中将字符串与空字符串进行比较的问题.有没有区别,如果我将字符串与空字符串比较==equals?例如:

String s1 = "hi";

if (s1 == "")
Run Code Online (Sandbox Code Playgroud)

要么

if (s1.equals("")) 
Run Code Online (Sandbox Code Playgroud)

我知道应该比较字符串(和一般的对象)equals,而不是==,但我想知道它是否对空字符串很重要.

java string comparison string-comparison

32
推荐指数
6
解决办法
7万
查看次数

验证字符串的最佳方法是空或null

我确信之前必须以不同的方式提出这个问题 - 因为isEmptyOrNull是如此常见但人们以不同的方式实现它.但我对最佳可用方法有好奇的查询,这对于内存和性能都有好处.

1)下面没有考虑所有空格,例如空XML标记

return inputString==null || inputString.length()==0;
Run Code Online (Sandbox Code Playgroud)

2)下面一个小心,但修剪可以吃一些性能+记忆

return inputString==null || inputString.trim().length()==0;
Run Code Online (Sandbox Code Playgroud)

3)转换为模式匹配器(仅当字符串非零长度时调用)

return inputString==null || inputString.trim().length()==0 || inputString.trim().length()==0;
Run Code Online (Sandbox Code Playgroud)

4)还有其他吗?

java regex string trim is-empty

26
推荐指数
5
解决办法
8万
查看次数

如何检查字符串数组是空的还是null的android?

我是java的新手.我无法检查是否为空.你能告诉我这件事吗?我有没有元素的字符串数组.

我试过这段代码

String[] k = new String[3];
if(k==null){
    System.out.println(k.length);
}
Run Code Online (Sandbox Code Playgroud)

java android

13
推荐指数
2
解决办法
8万
查看次数

如何检查变量是否为空?

我知道这不起作用,但我怎么知道用户是否添加了一个字符?

public class Program
import java.util.Scanner;
{
public static void main(String[] args) {
    Scanner a = new Scanner(System.in);
    String b = a.nextLine();

//I know this doesnt work but how can I know if the user added even one char?
    if (b!=null){
    System.out.println(b);
}
}
}
Run Code Online (Sandbox Code Playgroud)

java null if-statement

3
推荐指数
1
解决办法
1万
查看次数

空字符串验证

我已经阅读了这个SO线程:Java,检查字符串是否为空且不为空?

出现的问题(并未在该主题中得到回答)是:

Why is string.isEmpty() better than using string.equals("") ?在同一个答案中,海报声明在J6之前,人们会用string.length == 0它来检查空字符串.我错过了什么,因为他们似乎都做了完全相同的事情......这只是美化代码的问题.

java string null

2
推荐指数
1
解决办法
1275
查看次数

检查对象是否为空的较短方法?

是否有更短的方法来检查字符串/对象是否为null?

    String str = someMethodThatReturnsStringOrNull(someOthreObject);
    if(str == null) { System.out.println("Empty"); }
Run Code Online (Sandbox Code Playgroud)

比如JS风格:

    if(str) { System.out.println("Empty"); }
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
104
查看次数

检查String数组元素是否为null

所以我已经查看了一些关于这个问题的其他线程,似乎我应该能够使用常规比较运算符来检查这个问题.

如何检查我的字符串是否等于null?

Java,检查字符串是否为空且不为空?

但是,即使我的程序声明字符串为null,它也会通过执行if语句与字符串不为空的条件来解决这个问题.为了更清楚,这是我的完整计划:

package bank;

public class HowCheckForNull {

    static void showDates(String[] dates){
        for(int i = 0; i < dates.length; i++){
            System.out.println(dates[i]);
            System.out.println(dates[i] == null);
            System.out.println(dates[i] == (String) null);
            System.out.println(dates[i] != null);
            if(dates[i] != null);{ //This should not execute!?
                System.out.print("A transaction of X$ was made on the " + dates[i] + "\n");
            }
        }
        System.out.println("");
    }

    public static void main(String args[]){
        String[] dates = new String[3];
        showDates(dates);
    }
    }
Run Code Online (Sandbox Code Playgroud)

输出:

null
true
true
false
A transaction of X$ was …
Run Code Online (Sandbox Code Playgroud)

java arrays string null

0
推荐指数
1
解决办法
1616
查看次数

是使用评估的顺序来检查空值的不良做法?

如果我希望对一个字符串执行两次检查,它不是null,并且它不是0长度,我可以这样做 -

if(string != null) {
    if(string.length() > 0) {
        //Do something
    }
}
Run Code Online (Sandbox Code Playgroud)

或者我可以做到这一点

if(string != null && string.length() > 0) {
    //Do something
}
Run Code Online (Sandbox Code Playgroud)

首先执行第一次检查,第二次比较不会发生,并且不会抛出NullPointerException.

第二种方法是否可以保证在所有情况下都有效?如果是这样,使用它会被视为不良做法吗?

java null operator-precedence

0
推荐指数
1
解决办法
74
查看次数