Q176.
有關於Java 程式語言,假設我們已經宣告str 字串為String str = 「3.14159」;,下列那些指令可以正確的將str 轉換成float 資料型態?
電腦軟體設計(JAVA) · 乙級 · Java · Q176
難易度分析
3 / 5
本題採複選形式,要求考生能精確區分靜態方法與實例方法的呼叫方式,並需對 Java 版本更新後已棄用的語法有所了解,需全面判定所有選項的正確性方能得分。
正確答案 (複選):①, ②
- ① float value = Float.parseFloat(str);:Float.parseFloat(String) 是 Java 標準的靜態方法,直接將字串解析並回傳 primitive float 型別,為最常見且推薦的轉換方式。
- ② float value = Float.valueOf(str).floatValue();:Float.valueOf(String) 會回傳 Float 包裝物件,再呼叫實例方法 .floatValue() 取得 primitive float,雖多一層轉換但結果正確。
錯誤選項解析
- ③ float value = new Float(str);:new Float(String) 建構子已在 Java 9 被標記為 Deprecated,官方建議改用 parseFloat 或 valueOf,且直接使用建構子會產生不必要的物件實體,不符合現代 Java 編程規範。
- ④ float value = Float.floatValue(str):Float 類別並無 floatValue(String) 靜態方法,floatValue() 是 Float 物件的實例方法而非靜態方法,此寫法會導致編譯錯誤。
Learning Tip
"此題核心考點為 Java 包裝類別的字串轉換機制。常考陷阱在於混淆 parseFloat(靜態方法回傳 primitive) 與 valueOf(靜態方法回傳物件) 的差異,以及誤認 floatValue 為靜態方法。實務上應優先使用 parseFloat,避免使用已棄用的建構子方式,並注意 自動裝箱/拆箱(Autoboxing/Unboxing) 的隱含轉換機制。"
學員答題分佈
①float value = Float.parseFloat(str);0%
②float value = Float.valueOf(str).floatValue();0%
③float value = new Float(str);0%
④float value = Float.floatValue(str)0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!