在Java中检验字符串不为空的方法有?
String.trim().length()>0;
和"".equals(String);那个好?他们两的区别是什么?

解决方案 »

  1.   

    trim()是把字符串的前后空格去掉了.
    str.trim().length()>0判断的是str这个字符串除了空格外还有什么其它字符.
    "".equals(str)与str.length()==0等价,判断的是str是不是一个不含任何字符的字符串.
    两者功能不同.自己根据情况选择.
      

  2.   

    但是要是String str = null;时候我们这个str.length()可能throw java.lang.NullPointerException
    个人认为这样较为妥当:
    bollean bol = (str == null?true : (str.length() == 0 || !str.trim().equals(str)));
    true if bol,the str is have null or ""
    false if bol,the str is a valid String without "" or null.
      

  3.   

    在引用is not null的前提下,楼主可以尝试循环这2种方法,看看who的效率高,至于为什么,这个要看api了,或者源码,公司电脑没有配置java环境,不能帮你测试哈