這個問題在這里已經有了答案:
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();
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311593.html
