java-collection中的null,isEmpty

只使用java utils包的isEmpty.

第一种情况:实例化list,但是size为空。

	List<String> list =new ArrayList<>();
		if (list.isEmpty()) {
			System.out.println("1");
		}
		if (!list.isEmpty()) {
			System.out.println("2");
		}
		if (list != null) {
			System.out.println("3");
		}
                if (list != null && list.size() > 0) {
                        System.out.println("4");
                }


输出:

1
3


第二种情况:add值到list中

		List<String> list =new ArrayList<>();
		list.add("da");
		if (list.isEmpty()) {
			System.out.println("1");
		}
		if (!list.isEmpty()) {
			System.out.println("2");
		}
		if (list == null) {
			System.out.println("3");
		}
                if (list != null && list.size() > 0) {
                        System.out.println("4");
                }

输出:

2
4

第三种情况:只创建list的引用,不实例化。

List<String> list = null;
		if (list.isEmpty()) {
			System.out.println("1");
		}
		if (!list.isEmpty()) {
			System.out.println("2");
		}
		if (list != null) {
			System.out.println("3");
		}
		if (list != null && list.size() > 0) {
			System.out.println("4");
		}

输出:

Exception in thread "main" java.lang.NullPointerException

改进办法:

使用org.apache.commons.collections.CollectionUtils;

CollectionUtils.isEmpty(Collecions<extend>);

可以避免

java.lang.NullPointerException异常

猜你喜欢

转载自blog.csdn.net/u010857795/article/details/50731311