這個問題在這里已經有了答案:
uj5u.com熱心網友回復:
那是因為您的代碼將嘗試取消裝箱null。使用 IntelliJ 這將直接顯示為警告:“取消裝箱 null 可能會產生 NullPointerException”。
另一種方法是這樣做:
String s = "blah";
Character lclfs = s.contains("/") ? Character.valueOf('/') :
s.contains("\\") ? Character.valueOf('\\') : null;
正如@Antoniossss 指出的,這也有幫助:
String s = "blah";
Character lclfs = s.contains("/") ? Character.valueOf('/') :
s.contains("\\") ? (Character)'\\' : null;
談到 IntelliJ 中的警告,我上面的代碼現在說:“不必要的裝箱 'Character.valueOf('\')'”。所以可能你應該嘗試重構你的代碼。而不是使用顯式的null,你可以介紹java.util.Optional:
Optional<Character> lclfs = s.contains("/") ? Optional.of('/') :
s.contains("\\") ? Optional.of('\\') : Optional.empty();
uj5u.com熱心網友回復:
您應該使用\0特殊字符,它代表空值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/311121.html
上一篇:我的.netcore發布的可執行檔案提供了與運行代碼時不同的目錄路徑
下一篇:對隱藏欄位發出警告的Java規則
