为什么Java引入了一些没有定义方法的接口?例如Cloneable,Serializable,Type等等.
第二件事:在Class.class包中有一个registerNatives()没有body 定义的方法,从静态块调用,但Class.class不是抽象的,但是final.为什么这样?为什么Java需要一些没有body的方法来从静态块中调用.
假设我有一个POJO类用户和一个constuctor public User(int id, String name){...}.但是当我实例化User对象时就像User u=new User()没有参数一样,Eclipse会给出错误,如构造函数User()未定义.但是当我没有参数化的构造函数时,它工作正常.有人可以解释为什么它需要定义默认构造函数?
我只是想知道以下两种将List转换为Array的方法有什么区别.
List<String> test = new ArrayList<String>();
test.add("AB");
test.add("BC");
test.add("CD");
test.add("DE");
test.add("EF");
String[] testarray = test.toArray(new String[0]); // passing 0 as Array size
Run Code Online (Sandbox Code Playgroud)
低于一:
List<String> test = new ArrayList<String>();
test.add("AB");
test.add("BC");
test.add("CD");
test.add("DE");
test.add("EF");
String[] testarray = test.toArray(new String[test.size()]); // passing list's size
Run Code Online (Sandbox Code Playgroud)
我在控制台上获得了相同的testarray输出.