ich hab ein Array wo Kunden drinne stehn und dieses Array will ich nun nach Namen,Kundennummer etc. sortieren.
Ich hab das mit der sort-Funktion für Arrays versucht, aber irgendwie klappt das nicht.
Vielleicht kann mir ja jemand helfen.
Das ist die Funktion in meiner klasse Kunde:
Code:
public static void sortByName() {
Arrays.sort(KundeArr, new OrderByName());
}
Und das meine Klasse OrderByName:
Code:
public class OrderByName implements Comparator {
public int compare(Object o1, Object o2) {
Kunde e1 = (Kunde) o1;
Kunde e2 = (Kunde) o2;
System.out.println("e1:" +e1);
System.out.println("e2:" +e2);
return (e1.getName().toLowerCase().compareTo(e2.getName().toLowerCase()));
}
}
Beim Kompilieren bekomm ich immer folgende Fehlermeldung
Code:
java.lang.NullPointerException
at Kundenverwaltung.OrderByName.compare(OrderByName.java:23)
wenn beim System.out.println kein "null" erscheint - scheint ein Name von einem Kunden nicht initiiert zu sein...
geb dir auch mal die getName() aus oder debug
null erscheint ja, die kommplette Ausgabe sieht wie folgt aus:
Code:
java.lang.NullPointerException
at Kundenverwaltung.OrderByName.compare(OrderByName.java:23)
at java.util.Arrays.mergeSort(Arrays.java:1237)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.mergeSort(Arrays.java:1244)
at java.util.Arrays.sort(Arrays.java:1185)
at Kundenverwaltung.Kunde.sortByName(Kunde.java:274)
at Kundenverwaltung.MainGUI.callBackSBKJButton(MainGUI.java:164)
at Kundenverwaltung.JMenuListener.actionPerformed(MainGUIJMenuBar.java:143)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.java:5093)
at java.awt.Component.processEvent(Component.java:4890)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
e1:1 Behm Heiko Atterstrasse 189 49090 Osnabrueck 26
e2:2 Plehn Tobi da 3 12345 hier 0
e1:2 Plehn Tobi da 3 12345 hier 0
e2:3 Jannsen Björn da 67 34567 irgendwo 0
e1:1 Behm Heiko Atterstrasse 189 49090 Osnabrueck 26
e2:3 Jannsen Björn da 67 34567 irgendwo 0
e1:2 Plehn Tobi da 3 12345 hier 0
e2:null