Heim  >  Artikel  >  Java  >  Ausnahme durch Liste verursacht. Alle Elemente sind null

Ausnahme durch Liste verursacht. Alle Elemente sind null

巴扎黑
巴扎黑Original
2017-06-26 10:22:048110Durchsuche

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);
            }
        }

<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>
(有group by是分组统计,找不到记录就是没有记录)
 <br>
<span style="font-size: 14px"><em><br><br></em></span>

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!

Stellungnahme:
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