最近发现了一个非常脑残的小问题,关于java中判断字符串是否为空。
String test = null; if(test.equals(null)){ System.out.println("yang"); }
会报错 Exception in thread "main" java.lang.NullPointerException
然后看了一下equals的源代码
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
在Java中,有2种主要的数据类型:基本数据类型和引用类型。定义成基本数据类型的变量用来保存值,而定义成引用的变量用来保存引用。java中null不是一个合法的对象引用,所以系统并没有给它分配内存。它仅仅是一个用来表明该引用变量没有引用任何对象的值。
JVM规范中是这么说的
Java虚拟机规范并没有强制规定null应该是什么值。
所以在判断string类型是否为空是 应该用==来判断。
相关推荐
java,判断ftp中文件是否存在
java 判断中英文
java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 java 判断点在多边形内 Java GIS 多边形 Java点多边形
使用java快速判断网页链接是否有效代码,大家可以看看
《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用,也可以供相关任课教师出卷使用。 内容示例为: 1. JAVA的源代码中定义几个类,编译结果就生成几个以“.class”为后缀的字节码文件。( ...
java作业 用java实现判断回文程序免费下载
Java后台中需要对一些代码是不是汉字进行判断,根据不同的判断结果进行不同的操作!
Java判断数字是否在制定范围 A B 中或者与A B 相等
java 如何判断回文数字 java 如何判断回文数字
java 判断两个网址的主机名是否一样 java 判断两个网址的主机名是否一样 java 判断两个网址的主机名是否一样
JAVA中常见日期判断方法,比如:是否为润年? 获取指定年月的天数等等.
java判断字符串是否存在递增或递减 java判断字符串是否重复
用java代码判断一张表在数据库中是否存在............
java文件判断 如果你不知道如何判断文件的类型,希望这篇能帮到你
java判断PC端,Andiro,IOS,java判断PC端,Andiro,IOS,java判断PC端,Andiro,IOS,java判断PC端,Andiro,IOS
Java判断文件的编码, 适用于utf-8和gbk码的判断。
经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧.
用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字用java判断是不是数字
java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃
java判断IP是否在指定范围内,支持IPV4和IPV6。