Heim > Java > javaLernprogramm > Hauptteil

Ausnahme durch Liste verursacht. Alle Elemente sind null

巴扎黑
Freigeben: 2017-06-26 10:22:04
Original
8130 Leute haben es durchsucht

ArrayList ermöglicht das Hinzufügen von Nullwerten, was beim Konvertieren von Objekten in der Liste leicht zu java.lang.NullPointerException-Ausnahmen führen kann.

Szenario:

Datenbank wählt min(id) als ID, min(name) als Namen vom Benutzer aus, wobei 1=2;

Abfrage aus Es ist nicht so, dass es keinen Datensatz gibt, sondern einen Datensatz von null, null, der dazu führt, dass das Benutzerobjekt null ist

List //size=1,All Elemente sind null

Zu diesem Zeitpunkt wird ein Fehler gemeldet, wenn das Benutzerobjekt bearbeitet wird!

Lösung

Methode 1: Nullelemente entfernen

Beispiel:

 List<User> users = new ArrayList<User>();
        users.add(null);
        users.add(null);
        users.add(null);
        System.out.println("size:"+users.size()); //size:3for(User user:users){try {
                System.out.println("id:" + user.getId() + ",name:" + user.getName());
            }catch (Exception ex){
                System.out.println(ex); //java.lang.NullPointerException            }
        }users.remove(null); //移除第一个nullSystem.out.println("size:"+users.size()); //size:2    users.removeAll(Collections.singleton(null)); //移除所有的null元素System.out.println("size:"+users.size()); //size:0//不会进入循环for(User user:users){try {
                System.out.println("id:" + user.getId() + ",name:" + user.getName());
            }catch (Exception ex){
                System.out.println(ex);
            }
        }
Nach dem Login kopieren

<span style="font-size: 14px">法二:保证数据库查询出来没有null值,即遇null值转换为默认值<br><br><br></span><span style='font-family: "Microsoft YaHei"'>mysql下使用ifnull/case when均可实现</span><br><span style='font-family: "Microsoft YaHei"'>select  ifnull(min(id),-1) as id,ifnull(min(name),'defaultName') as name from user where 1=2;</span>
Nach dem Login kopieren
(有group by是分组统计,找不到记录就是没有记录)
Nach dem Login kopieren
 <br>
Nach dem Login kopieren
<span style="font-size: 14px"><em><br><br></em></span>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusnahme durch Liste verursacht. Alle Elemente sind null. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage