????Java?????NullPointerException??????????
???????????? ???????[ 2014/10/22 14:01:26 ] ????????Java ???
????Java??????????????????????????÷???????д????????????????????????????“??????????”????????????????????????????仰????????????????????????Щ?????????????????????ж?????????????????????Java?е????????????????????????????????????Javarevisited??????????????????????????????????????????Java?е?????????????????????????????????????ЩJava????????????????Щ???????????????Java?е??????????????Щ??????????????Java?????е??????е???????????????????о????Java?????????????????????е????????????????????????С?????????????м????????????????????????????????????????????????????????????????????Java????????????????
??????Щ?????????????????????????????????????????????????????????飬??е?????????????????????????????????????????????????κα?????????????????????Java????????????????????????????
????1) ???????String?????е???equals()??equalsIgnoreCase()??????????δ?????
????????????????String?????е???equals()?????????equals()??????????????a.equals(b)?????b.equals(a)???????????????????????????????a??b????????????????????????????????????????????????
Object unknownObject = null;
//????? – ??????? NullPointerException
if(unknownObject.equals("knownObject")){
System.err.println("This may result in NullPointerException if unknownObject is null");
}
//?????? - ???? unknownObject??null??????NullPointerException
if("knownObject".equals(unknownObject)){
System.err.println("better coding avoided NullPointerException");
}
?????????????????????Java????????????????????????equals()???????????????
????2) ??valueOf()??toString()????????????????????????
???????????null?????toString()???????????????????????????valueOf()???????????????????valueOf()?????????null??valueOf()??????“null”????????????Щ???????Integer??Float??Double??BigDecimal??
????BigDecimal bd = getPrice();
????System.out.println(String.valueOf(bd)); //??????????????
????System.out.println(bd.toString()); //??? "Exception in thread "main" java.lang.NullPointerException"
????3) ???null??????????? ?к????????????????????????鶴???????г???????????Apache commons ?е?StringUtils??????????StringUtils.isBlank()??isNumeric()??isWhiteSpace()????????????????????????????????
//StringUtils???????????????????????????????
System.out.println(StringUtils.isEmpty(null));
System.out.println(StringUtils.isBlank(null));
System.out.println(StringUtils.isNumeric(null));
System.out.println(StringUtils.isAllUpperCase(null));
Output:
true
true
false
false
????????????????????????????????????????????????????????????????′??????????????Java???????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11