Java面试-笔试题-List l = new Lis
2018-06-01 本文已影响0人
故作谦卑
以下代码有什么问题?
import java.util.List;
/**
*
* @author catchegg
* create date: 2018年6月1日 下午10:16:08
*/
public class TestClear {
public TestClear() {}
public static void main(String[] args) {
List<int> l = new List<int>();
l.clear();
}
}
在eclipse直接报错:Syntax error, insert "Dimensions" to complete ReferenceType,语法错误,将“Dimensions”插入到完整ReferenceType 中.
原因:泛形要求能包容的是对象类型,而基本类型在java里不属于对象,可以使用基本类型的包装类代替。
修改为List<Integer> l = new List<>();
继续报错:Cannot instantiate the type List,不能实例化类型List。
原因:List是接口,不能实例化对象,可以改成其实现类ArrayList。
List<Integer> l = new ArrayList<>();
关于clear()方法,它只是清除属性,不会删除对象,通常当我们不需要再使用ArrayList对象时,可以将变量值设为null即l = null ;,以便GC可以运作并回收这部分内存空间。
以上内容如有错误,欢迎与我讨论,共同进步!