`
ypluck
  • 浏览: 77965 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

对于Java的null和""及ArrayList的理解

    博客分类:
  • JAVA
阅读更多
最近看了看《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的判断。

三。小小讲解,希望对大家理解上有所帮助。(^_^ )
2
2
分享到:
评论
2 楼 w2gavin 2009-09-07  
... 为了验证一个null和""的区别,不需要这么大费周章吧
1 楼 gals 2009-02-17  
null翻译过来是“空”
""翻译过来是零长度字符串
一个什么都不是,一个是String类实例

相关推荐

    jni操作arraylist对象

    首先,我们需要理解ArrayList在Java中的本质。ArrayList是Java集合框架中的一个重要类,它实现了List接口,用于存储可变大小的有序对象列表。ArrayList通过数组来存储元素,因此可以快速访问任意位置的元素,但插入...

    模拟java ArrayList Iterator

    这个资源的目的是通过模拟Java ArrayList的Iterator实现,帮助理解Iterator设计模式。 首先,我们来详细解释一下ArrayList和Iterator的概念。ArrayList是一个可变大小的数组,它允许我们在任何位置插入和删除元素。...

    深入Java集合学习系列(二):ArrayList实现原理

    总结而言,文档虽然未直接给出ArrayList的具体实现细节,但我们通过了解Java集合框架的相关知识点,可以理解到ArrayList和HashSet都是基于数组和哈希表这两种基础数据结构实现的。了解了这些集合的内部实现原理,...

    46-Java知识点 手写ArrayList1

    Java 知识点 手写 ArrayList Java 中最常用的类是 ArrayList,它的实现原理和方法非常重要。在面试中,经常要求手写一个 ArrayList,以考察应聘者对 ...掌握这些知识点,可以帮助我们更好地理解和使用 ArrayList。

    深入Java集合学习系列(三):ArrayList实现原理

    Java集合框架中,ArrayList是一种常见的集合实现类,用于存储和操作对象集合。ArrayList基于动态数组的数据结构,因此它能够提供自动扩容的功能,同时也能够快速地进行随机访问。本篇文档将深入探讨ArrayList的内部...

    Java中有关Null的9件事Java开发Java经验技巧

    在Java编程语言中,`null`是一个特殊值,表示引用没有指向任何对象。它在Java中的使用至关重要,因为理解`null`可以帮助我们避免常见的运行时...对于Java开发者来说,理解和处理`null`是日常开发中不可或缺的一部分。

    Java进阶--深入理解ArrayList实现原理

    ArrayList是Java集合框架中常用的列表实现之一,它作为动态数组,允许我们在运行时根据需要增加或减少元素。ArrayList继承自AbstractList,并实现了List、RandomAccess、Cloneable和Serializable接口。这意味着...

    Java实训之利用Arraylist实现学生管理系统

    在Java编程语言中,ArrayList是Java集合框架的重要组成部分,它属于List接口的实现类,用于存储可变大小的有序对象集合。...这样的练习对于提升编程能力、理解Java集合框架以及软件设计原则至关重要。

    Java中ArrayList的使用方法简单介绍

    在Java编程语言中,ArrayList是集合框架中的一种重要数据结构,属于List接口的实现类。ArrayList主要用于存储一组有序的、可变...同时,理解不同数据结构如ArrayList和HashSet的特性,有助于编写更高效、优雅的代码。

    Java 中模仿源码自定义ArrayList

    在Java编程中,模仿源码自定义ArrayList是一个深入理解数据结构和Java集合框架的好方法。ArrayList作为Java集合框架的一部分,其内部实现基于动态数组。通过分析ArrayList的源码,我们可以学习到如何创建一个类似的...

    Java容器类的深入理解

    Java容器类是Java编程中非常重要的一部分,它们为数据存储提供了丰富的结构和操作。本文主要关注的是Java中的两种主要容器类型:Collection和Map,以及...理解这些容器类的特性和使用场景是优化Java程序性能的关键。

    intent传递ArrayList&lt;T&gt;

    当我们需要在不同的组件之间传递一个ArrayList对象时,由于Intent默认只支持基本类型和Parcelable接口实现类的数据传递,因此,我们需要特殊处理ArrayList,特别是当T是自定义的对象时。本篇将详细介绍如何使用...

    数组模仿ArrayList

    总的来说,模仿ArrayList的核心在于理解动态数组的概念,以及如何在数组满时进行扩容,以及在添加、删除、获取和修改元素时如何有效地操作数组。通过这样的实践,可以更好地理解ArrayList的工作原理,并为实际编程...

    基于ArrayList的对象多属性值排序

    通过以上代码,我们可以清楚地理解如何在Java中利用ArrayList和Comparator实现对象的多属性值排序。这个过程涉及到面向对象设计、集合框架、比较器接口以及Java 8的新特性,这些都是Java程序员必备的基础知识。理解...

    arraylist Hashtable

    ArrayList 和 Hashtable 是 Java 编程语言中两种非常重要的集合类,它们都属于 Java Collection Framework 的一部分,用于存储和管理对象。下面将详细讲解这两个数据结构的特性、使用场景以及相关操作。 ArrayList ...

    源码解析jdk7.0集合:ArrayList的底层实现原理.pdf

    在探讨 JDK 7.0 中 ArrayList 的底层实现原理之前,首先需要了解 ArrayList 作为 Java 集合框架中 List 接口的动态...此外,了解 ArrayList 的源码还有助于深入理解 Java 集合框架的设计哲学及面向对象设计的诸多原则。

    java提高篇(二一)-----ArrayList.pdf

    ArrayList是Java集合框架中的一种列表实现,它实现了List接口,允许存储包括null在内的所有元素。ArrayList的本质是一个动态数组,其容量可以根据需要自动增长。默认初始容量为10,随着元素的增加,ArrayList会自动...

    JSP_使用_Session_ArrayList_实现购物车程序

    根据给定的信息,本文将详细解释如何在Java Server Pages (JSP)中使用`HttpSession`和`ArrayList`来实现一个简单的购物车程序。...这种实现方式虽然简单,但对于理解和学习基本的Web开发技术非常有帮助。

    Java编程中ArrayList源码分析

    Java编程中ArrayList源码分析是Java编程中一个重要的知识点,对于Java开发者来说,了解ArrayList的源码可以帮助他们更好地理解Java集合框架的实现机制,从而提高自己的编程水平。 以下是ArrayList源码分析的主要...

Global site tag (gtag.js) - Google Analytics