class Sock2 { String color; public boolean equals(Object o) { return color.equals(((Sock2)o).color); } } class TestSocks { public static void main(String [] args) { Sock2 s1 = new Sock2(); s1.color = "blue"; Sock2 s2 = new Sock2(); s2.color = "blue"; if (s1.equals(s2)) System.out.print("equals "); if (s1 == s2) System.out.print("== "); } } 结果为:()
第1题:
下列程序的执行结果是______。 public class Test9 { public static void main(String[] args) { String s1 = new String("I am a girl"); String s2 = new String("I am a girl"); System.out.println (s1.equal (s2)); } }
A.true
B.假
C.I amgirl
D.都不正确
第2题:
阅读下面程序 public class My Val{ public static void main(String args[]){ My Val m=new My Val(); m. amethod(); } public void amethod(){ boolean b[]=new Boolean[5]; } } 程序编译或运行结果是
A.1
B.null
C.
D.编译不能过
第3题:
下列代码的执行结果是( )。 public class Test{ public static void main String args[]){ String s1=new String("welcome"); String s2=new String("welcome"); System.out.println(s1==s2); System.out.println(s1.equals(s2)); } }
A.false,false
B.false,true
C.true,true
D.true,false
第4题:
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
看上去很完美。
错。看上去在main 里call doSomething 没有什么问题,毕竟两个methods 都在同一个
class 里。但仔细看,main 是static 的。static method 不能直接call non-static methods。可改
成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method 不
能访问non-static instant variable。
第5题:
下列语句输出结果为( )。 public class test { public static void main(StringArgsl[]) { String s1=new String("How"); String s2=new String("How"); System.out.println(!(s1==s2)); } }
A.false
B.true
C.1
D.0
第6题:
下列语句输出结果为( )。public class test{public static void main(String args []){String s1=new String("How");String s2=new String("How");System.out.println(!(s1 ==s2));}
A.false
B.true
C.1
D.0
第7题:
阅读下面程序 public class Operators And Expressions( void equals Methodl{ Stringsl一new String("how are you"); Strings2=new String("how are you"); System.out.println(s1= =s2): } public static void main(String args[]){ Operators And Expressions Oper And Exp=new Oper- ators And Expressions ; //用于复合类型数据的”= =”运算符 OperAndExp.equalsMethodl; } } 程序运行结果是( )。
A.= =
B.true
C.false
D.equal
第8题:
程序员正在进行一个项目,必须实现equals方法与所给的hashCode方法协调运行: public int hashCode() { return (size.hashCode() + color.hashCode()) * 17; } 哪一个equals方法支持此目标?()
第9题:
public class Test { public static void main(String args[]) { class Foo { public int i = 3; } Object o = (Object)new Foo(); Foo foo = (Foo)o; System.out.println(“i = “ + foo.i); } } What is the result?()
第10题:
The program runs and prints nothing.
The program runs and prints “Equal”
An error at line 5 causes compilation to fail.
The program runs but aborts with an exception.
第11题:
==
equals
equals ==
无结果输出
第12题:
无法确定
public boolean equals(Object o) { Sock s = (Sock) o; return size.equals(s.size);}
public boolean equals(Object o) { Sock s = (Sock) o; return color.equals(s.color);}
public boolean equals(Object o) { Sock s = (Sock) o; return size.equals(s.size) &&color.equals(s.color); }
第13题:
阅读下面程序 public class OperatorsAndExpressions{ void equalsMethodl(){ String s1=new String("how are you"); String s2=new String("how are you"); System.out.println(s1==s2); } public static void main(String args[]){ OperatorsAndExpressionsOperAndExp=new OperatorsAndExpressions(); //用于复合类型数据的“==”运算符 OperAndExp.equalsMethod1(); } } 程序运行结果是
A.=
B.true
C.false
D.equal
第14题:
下列语句输出结果为( )。 public class test { public static void main(String args[]) String s1 =newString("HOW"); String s2=newString("How"): System.out.pnntln(!(s1.equals(s2))); } }
A.假
B.真
C.0
D.1
第15题:
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
和上面的很相似,都是关于final 的问题,这有错吗?
正确。在addOne method 中,参数o 被修饰成final。如果在addOne method 里我们修
改了o 的reference
(比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o 的member vairable
(成员变量),而o 的reference 并没有改变。
第16题:
阅读下面程序 public class OperatorsAndExpressions { void equalsMethodl(){ String s1=new String("how are you"); String s2=new String("how are you"); System.out.println(s1==s2); } public static void main(String args[]){ OperatorsAndExpressions perAndExp=new OperatorsAndExpressions(); OperAndExp.equalsMethod1(); } } 程序运行结果是( )。
A. ==
B.true
C.假
D.equal
第17题:
下列代码段的执行结果是( )。 public class Test { public static void main(String args[ ]) { String s1= new String("hello"); String s2= new String("hello"); System.out.println(s1==s2); System.out.println(s1.equal(s2)); } }
A.true false
B.true true
C.false true
D.false false
第18题:
下列代码的执行结果是______。 public class ex55 { public static void main(String args[] ) { String s1=new String("hello"); String s2=new String("hello"); System.out.print (s1==s2); System.out.print (","); System.out.println (s1.equals (s2)); } }
A.true, false
B.true, true
C.false, true
D.false, false
第19题:
Which declarations will allow a class to be started as a standalone program?()
第20题:
class Sock { String size; String color; public boolean equals(Object o) { Sock s = (Sock) o; return color.equals(s.color); } // insert code here } 哪两个满足 hashCode 的约定?()
第21题:
public class X { public static void main (String[]args) { String s1 = new String (“true”); Boolean b1 = new Boolean (true); if (s2.equals(b1)) { System.out.printIn(“Equal”); } } } What is the result?()
第22题:
public int hashCode() { return 343; }
public int hashCode() { return size.hashCode (); }
public int hashCode() { return color.hashCode (); }
public int hashCode() { return (int) (Math.random() * 1000);
第23题:
i = 3
Compilation fails.
A ClassCastException is thrown at line 6.
A ClassCastException is thrown at line 7.