java基础一些很容易让人做错的题目

1、执行下列代码后one字符串和two字符串的值分别是
  String one="one";
  String two=one;
  one.replace('o', 't');

A.one,one

B.tne,one

C.tne,tne

D.one,tne

答案是 A,是不是很容易弄错?

2、下列代码输出的结果是 
  String name="hailsmith";
  String newName=name.substring(4,7);
  System.out.println(newName);

A.smit

B.lsm

C.smi

D.lsmi

答案:C  下标是从0开始,而且不包括第7位

3、请看下列代码的输出结果是
  String reg="[@,=]";
  String str="@option=4,answer=2/3";
  System.out.println(Arrays.toString(str.split(reg)));

A.[option=, 4, answer=, 2/3]

B.[option, 4, answer, 2/3]

C.[, option=, 4, answer=, 2/3]

D.[, option, 4, answer, 2/3]

答案:D  

4、下列代码的运行结果是
  List list=new ArrayList();
  list.add("A");
  list.add("B");
  list.add("C");
  list.add("D");
  list.add("E");
  list.add("F");
  list.set(5, list.set(2, "G"));
  System.out.println(list);

A.[A, G, C, D, E, B]

B.[A, B, G, D, E, C]

C.[A, B, C, G, E, D]

D.[A, B, G, D, E, G]

答案:B

1、请看下列代码,关于下列代码说法正确的是
public class Student{
 private String name;
 public Person(String name){
  this.name=name;
 }
}
public class Person{
 public static void main(String[] args) {
  List names=new ArrayList();
  names.add(new Person(new String("小李")));
  names.remove(new Person(new String("小李")));
 }
}

A.运行后,可以顺利从names中将“小李”所在的Person对象移除

B.运行后,不能顺利从names中将“小李”所在的Person对象移除,需要在Person类中覆盖equals方法才能移除,覆盖的equals方法如下:
 public boolean equals(Object obj){
  Person p=(Person)obj;
  if(this.name==p.name){
   return true;
  }
  return false;
 }

C.运行后,不能顺利从names中将“小李”所在的Person对象移除,需要在Person类中覆盖equals方法才能移除,覆盖的equals方法如下:
 public boolean equals(Object obj){
  Person p=(Person)obj;
  if(this.name.equals(p.name)){
   return true;
  }
  return false;
 }

D.运行后,names的size是1

答案:CD  

发布了17 篇原创文章 · 获赞 0 · 访问量 233

猜你喜欢

转载自blog.csdn.net/lihailin8/article/details/101447167