社区
Java EE
帖子详情
很基础的问题
xujianhua815926
2006-04-03 02:32:36
大家好,我是菜鸟,想问一个基本问题:
private List list1=null;
private List list2=new ArrayList();
请问这list1和list2有什么区别??谢谢!
...全文
172
11
打赏
收藏
很基础的问题
大家好,我是菜鸟,想问一个基本问题: private List list1=null; private List list2=new ArrayList(); 请问这list1和list2有什么区别??谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kkdong
2006-04-04
打赏
举报
回复
private List list1=null;
你只是声明了一个可以指向 LIST对象的变量~而现在这个变量是空的!
private List list2=new ArrayList();
你声明了一个可以指向LIST对象的变量--list2, 而现在这个变量指向了一个实例化的ArrayList()!
正如 cyfnjtu(迎风) 所说~
第一个不能调用List的任何操作,比如add()、get()什么的;
第二个可以直接使用,让你的list不断状大;
想喝咖啡的貓
2006-04-04
打赏
举报
回复
其实private List list1=null;和private List list2=new ArrayList();都可以说是初始化.
但null代表是不确定,你总不能调用一个不确定的对象的add()/get()吧.
wwwxuehu
2006-04-03
打赏
举报
回复
楼上几位都是从应用的角度去解决这个问题,从理论上讲,private List list1 = null;只是定义了一个List对象,并没有对其实例话,而private List list2 = new ArrayList();是对list2进行了实例话,最重要的是对其进行了内存空间分配。
xuelei81
2006-04-03
打赏
举报
回复
因为list1没有初始化,他指向一个null的地址,所以不能add()。会出现空指针错误
xujianhua815926
2006-04-03
打赏
举报
回复
package test;
import java.util.ArrayList;
import java.util.List;
public class Test {
private List list1 = null;
private List list2 = new ArrayList();
public List vo() {
list1.add(0, "hello");
list1.add(1, "world");
return list1;
}
public List po() {
list2.add(0, "hello");
list2.add(1, "world");
return list2;
}
public static void main(String[] args) {
// System.out.println(new Test().vo());
System.out.println(new Test().po());
}
}
把注释去掉就不可以运行,
Net8Java
2006-04-03
打赏
举报
回复
指向不同,一个是null,一个是个ArrayList的实例,null不能调用任何方法,否则有空指针异常
utwo81
2006-04-03
打赏
举报
回复
list1和list2都只是一个List类型的引用,本质上并没什么区别。
cuiyingfeng
2006-04-03
打赏
举报
回复
不同点
第一个不能调用List的任何操作,比如add()、get()什么的;
第二个可以直接使用,让你的list不断状大;
相同点
它们都可以指向一个新的List
sbnth
2006-04-03
打赏
举报
回复
如果我从数据库中取出的记录分别放在这两个list中,那会有什么区别呢
==》区别不大,只是用2跟占用资源,因为它要初始化list
xujianhua815926
2006-04-03
打赏
举报
回复
如果我从数据库中取出的记录分别放在这两个list中,那会有什么区别呢
想喝咖啡的貓
2006-04-03
打赏
举报
回复
大家好,我是菜鸟,想问一个基本问题:
private List list1=null;
private List list2=new ArrayList();
请问这list1和list2有什么区别??谢谢!
--------------------
private List list1=null;
意思是声明一个List对象,初始化为null
private List list2=new ArrayList();
声明一个List对象,初始化为一个List接口的实现类(多态)
面试经验+
基础
总结
(阿里、百度、蘑菇街的面试总结)+平时的面试资料整理+我的简历,是自己平时的总结,带有主观性呢,大家可以随便看看。
你必须知道的261个Java语言
问题
梁建全.pdf
你必须知道的261个Java语言
问题
梁建全.pdf
【C#】12306抢票的
基础
实现
在此,将【源码】交出,提供给感兴趣的朋友,继续去完善,此源码还存在很多
问题
,还有很多需要优化与功能需要完善的地方;包括UI部分很多地方还没有优化和完善,更别说功能,此源码只实现了,基本的登录,查询,订票等功能,源码里带有注释,如果有什么不懂的地方可以联系我~~~(PS:想运行此程序,可能需要先到12306安装证书)
MoreWindows白话经典算法之七大排序第2版(高清)
在第一版的
基础
上新加了对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法的总结篇,方便大家复习,合适作为笔试面试前的复习资料。
我自己写的项目 地主 ,麻将 学习资料
我自 写的一些项目,和我所学习的一些资料。感兴趣的朋友可以下载一下。
Java EE
67,541
社区成员
225,854
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章