原住民族考試四等考試-電子工程類科計算機概要105 年第 29 題單選題
下列的 Java 語言程式執行後輸出為何?
import java.lang.*;
class test
{
public static void main(String[] argv)
{
int x=0;
String s1="Hello";
String s2="Hello";
String s3=new String("Hello");
String s4=new String("Hello");
if(s1==s2)x++;
if(s1==s3)x++;
if(s3==s4)x++;
System.out.println(x);
}
}
B正確答案
Java 中 == 比較參考位址;字串常量池讓 s1、s2 指向同一物件,new String() 則建立新物件。
逐選項解析
A0✕ 錯誤
若誤以為 Java 的 == 都是比較內容,會認為全部相等或全部不等。但 s1==s2 確實成立,x 不會是 0。
C2✕ 易錯陷阱
陷阱:誤以為 s1==s3 也成立(因為內容都是 Hello)。但 s3 是 new 出來的新物件,參考不同,== 為 false。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本