????6.???API????????????(null)?????List
???????????Щ????·?????????null???????????????????????????????? java.io.File.list()???????????????????
????????????????????????????????????????????顣????????(empty)????????????????(empty)??????????·???????????I/O????????null??
???????????????????????????
????File directory = // ...
????if (directory.isDirectory()) {
????String[] list = directory.list();
????if (list != null) {
????for (String file : list) {
????// ...
????}
????}
????}
??????????null????б?????????I/O?????????IOExceptions???????????????????null??Null????????I/O?????????????????????????????3????????
????Null????????????
????Null???????I/O????????File??????????·????????????
????????????????????ж?null???
????????????????????????????????(empty)????????????“??????”????????????(null)???????????????κ???????????????????????????
???????????????????????null??
????7. ??????????ú???
????HTTP?????????????????????????????????????????????REST??????????????????(Representational state transfer)????Java??????????????????????????????????????????2??????????????????????????????????????????????????????齫?????????JDBC??????????????????洢??????ж????????
????CallableStatement s =
????connection.prepareCall("{ ? = ... }");
????// Verbose manipulation of statement state:
????s.registerOutParameter(1?? cursor);
????s.setString(2?? "abc");
????s.execute();
????ResultSet rs = s.getObject(1);
????// Verbose manipulation of result set state:
????rs.next();
????rs.next();
?????????JDBC API???????????????????????????????????????????????????????
???????????????????????????????API
?????????????????????????????????б?????
??????????????????????????????????????????????????????????
????8. ??·? equals()
??????????????????????????????????????????У?????????????????????????????????ж????equals()?????????????????ж?:
????@Override
????public boolean equals(Object other) {
????if (this == other) return true;
????// ????????ж????...
????}
?????????????·????????漰??null???飬????????????:
????@Override
????public boolean equals(Object other) {
????if (this == other) return true;
????if (other == null) return false;
????// Rest of equality logic...
????}
????????: ???????е?equals()??????????·???????????
????9. ?????????????final
??????Щ????????????????????????????final??Java????????????Υ????????????????????????????????????????final?????????
???????????????????override?????????????????????????????????????final?????
??????????????????????override???κη???
??????????????????????????????????“????”???????????Σ????????????á??????Apache Tika???????????????????ξ?????????????????£?
????TaggedInputStream.get(InputStream)
????TikaInputStream.get(InputStream)
????TikaInputStream?????TaggedInputStream????????????????????????????get()??????
???????淽?????????????????????????????????????????????????????á????????????????????????????????
??????????????????????API?????????????????????final??
????10. ??????(T…)???
?????????????????“accept-all”???????????????????Object…??????д???
????void acceptAll(Object... all);
??????д??????????Java?????????????JavaScript??о????????????????????????????????????????????String…???????????????????????????÷???T???Object???????????
????void acceptAll(T... all);
????????????T?????????Object???????????????????????????в?????÷?????????????????????????????????????????????????
????void acceptAll(T... all);
????void acceptAll(String message?? T... all);
?????????????????????????????String??????????????????????????????
????acceptAll("Message"?? 123?? "abc");
????????????T????<? extends Serializable & Comparable<?>>??????????ò??????
?????????????????????“accept-all”?????????????????????????????????????????API??????????????????????????????“????”???“?????”??????????????????accept-all????????????????κη?????
????????: ????????????“accept-all”???????????????????????????????
????????
????Java?????????????????????????????????????????????????????????????????£??????Java????????????г??????????棬??????Щ????????????????????????