Java 中null 和 “”区别

NULL 代表一个空对象,不是java中字符串,java util中有些方法返回值就是null

getRef

public String getRef()
  • 获取此 URL 的锚点(也称为“引用”)。

    • 返回:

    • URL 的锚点(也称为“引用”),如果没有锚点,则返回 null


“”代表生成一个对象实例,这个对象的长度为0

String  s=null  只定义了一个句柄,有引用但是这个引用没有指向内存空间

String s="" 这个引用已经指向一块是空字符串的内存空间,可以进行操作

null 可以赋值给任何对象

“”赋值给字符串

null 是空对象,也是空字符串

String s=null  ;//null是未分配的内存空间

String a  分配了一份内存空间,但是没有任何对象

String s=“” 分配了一份内存空间,存了一个字符串对象

 public static List<String> removeRef(List<String> urls) {
    for (String url : urls) {
      try {
        URL u = new URL(url);
        String ref = u.getRef();
        System.out.println(ref);
        if (ref==null) {
          // urls.remove(url);
          System.out.println(url);
        }
      } catch (MalformedURLException e) {
        e.printStackTrace();
      }
    }
    return urls;
  }


你可能感兴趣的:(java,null)