Java中空值的判断

空值判断的测试代码如下:

String str = new String();//
        System.out.println("1=" + (str == null));
        System.out.println("2=" + str.isEmpty());
        System.out.println("3=" + str.equals(""));
        str = "";//空字符串
        System.out.println("11=" + (str == null));
        System.out.println("22=" + str.isEmpty());
        System.out.println("33=" + str.equals(""));
        str = " ";//空格字符串
        System.out.println("111=" + (str == null));
        System.out.println("222=" + str.isEmpty());
        System.out.println("333=" + str.equals(""));
        str = null;//空值
        System.out.println("1111=" + (str == null));
        //System.out.println("2222=" + str.isEmpty());//运行该行报错
        //System.out.println("3333=" + str.equals(""));//运行该行报错

输出结果如下:

1=false
2=true
3=true
11=false
22=true
33=true
111=false
222=false
333=false
1111=true

总结:

在判断一个对象是否为空时:

对于一个新的实例:可以用.isEmpty()来判断;

当对象是String时,.isEmpty()与.equals("")判断结果均为true,

对于其他对象则是.isEmpty()结果为true,.equals("")结果为false;

所以判断一个新的实例是否为空要用.isEmpty()来判断

对于赋值为null时:只能用==null来判断(用.isEmpty()或者当String用.equals(""),都会报空指针错误);

对于String对象赋值为空字符串“”时,可以用.isEmpty()和.equals("")来判断,结果相同

对于String对象赋值为空格字符串“ ”时,它不属于空值,因此用==null、.isEmpty()、.equals("")判断,结果都是false(也不会报错);

Java7 中JDBC:

    public boolean isEmpty() {
        return value.length == 0;
    }

Java中空值的判断

时间: 2024-11-10 02:54:38

Java中空值的判断的相关文章

JAVA 中两种判断输入的是否是数字的方法__正则化_

JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengzehua_test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("请输入第一个数字:"

【Stackoverflow好问题】java中,如何判断数组Array是否包含指定的值

问题 java中,如何判断数组Array是否包含指定的值 精华回答 1. Arrays.asList(...).contains(...) 2. 使用 Apache Commons Lang包中的ArrayUtils.contains String[] fieldsToInclude = { "id", "name", "location" }; if ( ArrayUtils.contains( fieldsToInclude, "i

在Java中如何高效判断数组中是否包含某个元素

如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的.本文将分析几种常见用法及其时间成本. 检查数组是否包含某个值的方法 使用List public static boolean useList(String[] arr, String targetValue) { return Arrays.asLis

java中如何高效判断数组中是否包含某个特定的值

四种不同方式检查数组是否包含某个值 使用List: public static boolean useList(String[] arr, String targetValue) { return Arrays.asList(arr).contains(targetValue); } 使用Set: public static boolean useSet(String[] arr, String targetValue) { Set<String> set = new HashSet<S

Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray

今天在接口对接中,遇到一个问题,对方接口返回的JSONString,类型不确定,所以需要先做判断再进行处理.查阅资料后使用JSONTokener可进行处理,特此记录. 1 String ret = orderapi.invoke(apiparam.toString()); 2 3 Object object = new JSONTokener(ret).nextValue(); 4 5 //判断返回数据是JSONArray还是JSONObject 6 if(object instanceof J

Java中null的判断

Java中空指针的异常十分常见 if (name != null && !name.equals("")) { //do something } 或者 if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错. //do something }

050、Java中使用switch判断,使用字符串判断

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { String str = "HELLO"; switch (str) { // 判断的是字符串 case "HELLO": { System.out.println("内容是HELLO&qu

049、Java中使用switch判断,不加入break时的操作

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { int ch = 1; switch (ch) { // 判断的是数字 case 2: { // 判断内容是否是2 System.out.println("内容是2"); } case 1: { // 判断内容是否是1

没那么简单:Java中应该怎样判断一个整数是偶数还是奇数

环境:jdk 1.7. package hellojava; public class HelloJava { // 用取余运算 public boolean isEven01(int num) { if (num % 2 == 0) { return true; } else { return false; } } // 如果没有取余运算符,自己做一个 public boolean isEven02(int num) { int tmp = num/2; if (num-tmp*2 == 0)