最近看了看《Thinking in Java》深有感触,把以前的迷惑解开了不少,今天就Java的null和""及ArrayList讲解下,希望对迷惑于此的朋友们有所帮助。
一。代码:
import java.util.ArrayList;
public class testNull
{
/**
* @param args
*/
public static void main ( String[] args )
{
testNull a=new testNull();
ArrayList<String> l=a.getTest("");
if(l==null)
{
System.out.println("is null");
}
else
{
System.out.println("is not null");
}
}
public ArrayList<String> getTest(String item)
{
ArrayList<String> list=new ArrayList<String>();
if(item==null || "".equals(item))
{
return null;
}
else
{
return list;
}
}
}
二。讲解
上述的代码中有两个地方可以测试。
1.在public ArrayList<String> getTest(String item)方法中,如果if(item==null || "".equals(item))改成if(item==null )则会输出"is not null"
如果加上,则会输出"is null",这说明null和""是不一样的。
2.if(item==null)则会输出"is not null",但为什么会输出不是空呢?因为这句代码“ArrayList<String> list=new ArrayList<String>();”,事实上,这句代码的意思已经代表在内存区域分配了内存,所以return list是不为空(null)的。但反过来说,如果把ArrayList<String> list=new ArrayList<String>();改成ArrayList<String> list=null;的话则会输出"is null"
3.我们在用ArrayList和Iterator的时候,希望注意null的判断。
三。小小讲解,希望对大家理解上有所帮助。(^_^

)
分享到:
相关推荐
首先,我们需要理解ArrayList在Java中的本质。ArrayList是Java集合框架中的一个重要类,它实现了List接口,用于存储可变大小的有序对象列表。ArrayList通过数组来存储元素,因此可以快速访问任意位置的元素,但插入...
这个资源的目的是通过模拟Java ArrayList的Iterator实现,帮助理解Iterator设计模式。 首先,我们来详细解释一下ArrayList和Iterator的概念。ArrayList是一个可变大小的数组,它允许我们在任何位置插入和删除元素。...
总结而言,文档虽然未直接给出ArrayList的具体实现细节,但我们通过了解Java集合框架的相关知识点,可以理解到ArrayList和HashSet都是基于数组和哈希表这两种基础数据结构实现的。了解了这些集合的内部实现原理,...
Java 知识点 手写 ArrayList Java 中最常用的类是 ArrayList,它的实现原理和方法非常重要。在面试中,经常要求手写一个 ArrayList,以考察应聘者对 ...掌握这些知识点,可以帮助我们更好地理解和使用 ArrayList。
Java集合框架中,ArrayList是一种常见的集合实现类,用于存储和操作对象集合。ArrayList基于动态数组的数据结构,因此它能够提供自动扩容的功能,同时也能够快速地进行随机访问。本篇文档将深入探讨ArrayList的内部...
在Java编程语言中,`null`是一个特殊值,表示引用没有指向任何对象。它在Java中的使用至关重要,因为理解`null`可以帮助我们避免常见的运行时...对于Java开发者来说,理解和处理`null`是日常开发中不可或缺的一部分。
ArrayList是Java集合框架中常用的列表实现之一,它作为动态数组,允许我们在运行时根据需要增加或减少元素。ArrayList继承自AbstractList,并实现了List、RandomAccess、Cloneable和Serializable接口。这意味着...
在Java编程语言中,ArrayList是Java集合框架的重要组成部分,它属于List接口的实现类,用于存储可变大小的有序对象集合。...这样的练习对于提升编程能力、理解Java集合框架以及软件设计原则至关重要。
在Java编程语言中,ArrayList是集合框架中的一种重要数据结构,属于List接口的实现类。ArrayList主要用于存储一组有序的、可变...同时,理解不同数据结构如ArrayList和HashSet的特性,有助于编写更高效、优雅的代码。
在Java编程中,模仿源码自定义ArrayList是一个深入理解数据结构和Java集合框架的好方法。ArrayList作为Java集合框架的一部分,其内部实现基于动态数组。通过分析ArrayList的源码,我们可以学习到如何创建一个类似的...
Java容器类是Java编程中非常重要的一部分,它们为数据存储提供了丰富的结构和操作。本文主要关注的是Java中的两种主要容器类型:Collection和Map,以及...理解这些容器类的特性和使用场景是优化Java程序性能的关键。
当我们需要在不同的组件之间传递一个ArrayList对象时,由于Intent默认只支持基本类型和Parcelable接口实现类的数据传递,因此,我们需要特殊处理ArrayList,特别是当T是自定义的对象时。本篇将详细介绍如何使用...
总的来说,模仿ArrayList的核心在于理解动态数组的概念,以及如何在数组满时进行扩容,以及在添加、删除、获取和修改元素时如何有效地操作数组。通过这样的实践,可以更好地理解ArrayList的工作原理,并为实际编程...
通过以上代码,我们可以清楚地理解如何在Java中利用ArrayList和Comparator实现对象的多属性值排序。这个过程涉及到面向对象设计、集合框架、比较器接口以及Java 8的新特性,这些都是Java程序员必备的基础知识。理解...
ArrayList 和 Hashtable 是 Java 编程语言中两种非常重要的集合类,它们都属于 Java Collection Framework 的一部分,用于存储和管理对象。下面将详细讲解这两个数据结构的特性、使用场景以及相关操作。 ArrayList ...
在探讨 JDK 7.0 中 ArrayList 的底层实现原理之前,首先需要了解 ArrayList 作为 Java 集合框架中 List 接口的动态...此外,了解 ArrayList 的源码还有助于深入理解 Java 集合框架的设计哲学及面向对象设计的诸多原则。
ArrayList是Java集合框架中的一种列表实现,它实现了List接口,允许存储包括null在内的所有元素。ArrayList的本质是一个动态数组,其容量可以根据需要自动增长。默认初始容量为10,随着元素的增加,ArrayList会自动...
根据给定的信息,本文将详细解释如何在Java Server Pages (JSP)中使用`HttpSession`和`ArrayList`来实现一个简单的购物车程序。...这种实现方式虽然简单,但对于理解和学习基本的Web开发技术非常有帮助。
Java编程中ArrayList源码分析是Java编程中一个重要的知识点,对于Java开发者来说,了解ArrayList的源码可以帮助他们更好地理解Java集合框架的实现机制,从而提高自己的编程水平。 以下是ArrayList源码分析的主要...