LONGEPASS
Q141.

下列Java 語言程式片段,那些是合法的指令?

電腦軟體設計(JAVA) · 乙級 · Java · Q141

難易度分析

3 / 5

本題採複選形式,要求對多個 Java 包裝類別的語法細節進行綜合判別。題目設計了類別命名錯誤及關鍵字缺失等常見陷阱,考生需精確區分標準類別名稱與建構語法才能正確選擇。

正確答案 (複選):①, ④

  • ① Long m = new Long(128); double d = m.doubleValue();:Long 包裝類別可透過 `new Long(128)` 建立物件,並呼叫 doubleValue() 方法將長整數轉換為 double 型別,此為標準的數值型別轉換語法。
  • ④ Boolean b = new Boolean("hello"):Boolean 建構子接受字串參數,當傳入非 "true"(不區分大小寫)的字串如 "hello" 時,會回傳 false 值,此為合法的布林值建構方式。

錯誤選項解析

  • ② Byte b = new Byte(10); b = Byte(23);:`Byte(23)` 缺少 new 關鍵字,無法正確建立 Byte 物件;正確寫法應為 `b = new Byte((byte)23)`,且需注意 Byte 建構子已於 Java 9 被標記為棄用。
  • ③ Int i = new Int(28);:Java 中不存在 Int 類別,正確的整數包裝類別為 Integer;應寫為 `Integer i = new Integer(28)` 或使用 `Integer.valueOf(28)`。
Learning Tip

"此題考驗 包裝類別(Wrapper Class) 的建構子語法與型別轉換規則。常考陷阱包括:混淆 Int 與 Integer、遺漏 new 關鍵字、以及誤解 Boolean 字串建構子的行為(僅 "true" 會產生 true,其餘皆為 false)。注意 Java 9 後數值型別包裝類別的建構子已不建議使用,應改用 valueOf() 方法。"

學員答題分佈

①Long m = new Long(128); double d = m.doubleValue();0%
②Byte b = new Byte(10); b = Byte(23);0%
③Int i = new Int(28);0%
④Boolean b = new Boolean("hello")0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目