如果您使用過 Java 的 Scanner,您就會知道關閉它以避免資源洩漏非常重要,尤其是在讀取檔案時。但到了System.in,就不一樣了。
您通常不想關閉 System.in,因為這樣做會停止任何未來的輸入。如果程式的其他部分仍然需要使用者輸入,這可能會產生問題。
Java 的 try-with-resources 讓這一切變得簡單。它會自動關閉 Scanner,而無需關閉 System.in,讓您可以安全地讀取使用者輸入。
某些 IDE(例如 Eclipse 或 IntelliJ)可能會使用 Scanner 標記潛在的資源洩漏,並對所有實例進行相同的處理。這可能會產生誤導,尤其是在使用 System.in 時,但您可以放心地忽略這些警告。
使用 try-with-resources 確保 Scanner 正確關閉,同時保持 System.in 開啟。
避免手動關閉System.in;讓 JVM 來處理它。
範例程式碼:
try (Scanner objName = new Scanner(System.in)) { System.out.println("What's your name?"); String userName = objName.nextLine(); System.out.println("Hello, " + userName + "!"); }
以上是使用 Java 中的 Scanner 和 System.in 處理資源洩漏的詳細內容。更多資訊請關注PHP中文網其他相關文章!