1. (不定项)Java中 String str = “hello world” 下列语句错误的是()
A. str +=’ a’
B. int strlen = str.length
C. str=100
D. str=str+100
2. 对文件名为Test.java 的java代码描述正确的是()
class Person {
String name=” No name “;
public Person(String nm) {
name = nm;
}
}
class Employee extends Person {
String empID = “0000”;
public Employee (String id) {
empID = id;
}
}
public class Test {
public static void main (String args[] ) {
Employee e = new Employee(“123”);
System.out.println(e.empID);
}
}
A. 输出: 0000
B. 输出: 123
C. 编译报错
D. 输出:No name
3. list是一个ArrayList的对象,哪个选项的代码填到 //todo delete 处,可以在 Iterator 遍历的过程中正确并安全的删除一个 list中保存的对象?
Iterator it = list.iterator();
int index = 0;
while(it.hasNext()) {
Object obj = it.next();
if ( needDelete(obj) ) {
// todo delete
}
index++;
}
A. it.remove();
B. list.remove(obj);
C. list.remove(index);
D. list.remove(obj,index);
4. A类是B类的子类,写出A a = new A(); 中,子类父类 构造器,代码块,静态代码块的执行顺序?
5. 可以把任何一种数据类型的变量赋给Object类型的变量。
A. TRUE
B. FALSE
//----------分割线----------
ABC
C
A
(父)静态代码块、(子)静态代码块、(父)代码块,构造器、(子)代码块,构造器
A
答案详解:
1. A选项a前面有空格算字符串;B选项.length()是方法不是属性;C选项int不能转String;
D选项字符串和任何基本数据类型连接后基本数据类型都转化为字符串。
2. 编译报错,父类没有无参构造器。
3. Iterator支持从原集合中安全地删除对象,只需在iterator上调用remove()就好了,这样可以避免ConcurrentModifiedException,有些集合不允许在迭代的同时添加或删除元素,但是调用Iterator的remove方法是个安全的做法。
4. 略
5. 基本数据类型会自动装箱。