java推断字符串是不是为空的要领
要领一: 最多人运用的一个要领, 直观, 轻易, 但效力很低:
if(s == null || s.equals(""))
要领二: 比较字符串长度, 效力高, 是我晓得的最好一个要领:
if(s == null || s.length() == 0)
length是属性,平常鸠合类对象具有的属性,获得鸠合的大小。
比方:数组.length
就是获得数组的长度。
length()是要领,平常字符串类对象有该要领,也是获得字符串长度。【引荐进修:java课程】
比方:字符串.length();
要领三: Java SE 6.0 才最先供应的要领, 效力和要领二险些相称, 但出于兼容性斟酌, 引荐运用要领二.
if(s == null || s.isEmpty())
要领四: 这是一种比较直观,轻便的要领,而且效力也异常的高,与要领二、三的效力差不多:
if (s == null || s == "")
注重:s == null 是有必要存在的.
假如 String 范例为null, 而去举行 equals(String) 或 length() 等操纵会抛出java.lang.NullPointerException
。
而且s==null 的递次必需涌现在前面,不然同样会抛出java.lang.NullPointerException
。
Java空字符串与null的区分:
1、范例
null示意的是一个对象的值,而并非一个字符串。比方声明一个对象的援用,String a = null ;
""示意的是一个空字符串,也就是说它的长度为0。比方声明一个字符串String str = "" ;
2、内存分派
String str = null;
示意声明一个字符串对象的援用,但指向为null,也就是说还没有指向任何的内存空间;
String str = "";
示意声明一个字符串范例的援用,其值为""空字符串,这个str援用指向的是空字符串的内存空间;
在java中变量和援用变量是存在栈中(stack),而对象(new发生的)都是存放在堆中(heap):
就以下:
String str = new String("abc") ;
ps:=左侧的是存放在栈中(stack),=右侧是存放在堆中(heap)。
以上就是java字符串怎样推断是不是为空?的细致内容,更多请关注ki4网别的相干文章!