Welche Daten speicherst Du denn in der ArrayList? Die Klassen muessen auch irgendwie verglichen werden. Bei den einfachen Datentypen int, long, float, double sollte das aber kein problem sein.
also ich habe eine Schleife welche mehrmals durchlaufen wird, jedesmal wird ein neuer Wert in die Liste geschrieben und der Mindest Wert neu ausgelesen.
Ich bekomme folgende Wert:
ArrayList: 350
Min: 350
ArrayList: 365, 140
Min: 140
ArrayList: 365,140,220
Min: 140
ArrayList: 365,140,220,1121
Min: 1121
Danach bleibt der Min wert 1121
Hatte noch nie jemand dieses Problem?
In der Array Liste stehen Werte mit dem Datentyp long.
Wenn das so funktioniert, bedeutet es, daß du Java > 1.5 benutzst,
das über Autowrapping verfügt. D.h., daß dein long-Wert
automatisch in ein Long gepackt wird.
Damit stehen natürlich auch Longs und keine Strings
in deiner Liste.
ich verschiedenen deiner Posts stehen verschiedene Probleme,
mal eine falsche Sortierung da Strings alphabetisch und nicht nach Zahlwert sortiert werden,
mal irgendwas Richtung ClassCastException, Casten oder Autoboxing,
alles wurde mehr oder weniger schon thematisiert und zu einfachen Lösungen geführt,
was ist aktuell das Problem?
soll man sich was aussuchen und die Antworten dazu wiederholen oder wie..
30 Zeilen aktuellen Code zu posten bringt niemanden um
sorry falls es etwas unverständlich war, also ich versuche es nocheinmal...
Hier wird zuerst ein Wert (long) in die ArrayList geschrieben
Code:
for(int i=0;i<countUrsl;i++) {
sendRequest(); // Hier wird ein Request gesendet und die Antwortzeit wird in der long Variabel averageTime gespeichert
saveRequestTime.add(averageTime); //Diese wird hier in die ArrayList geschrieben
}
paintChart(requestPerMin, saveRequestTime, countUrls); // Die Methode paintChart wird geöffnet
Code:
public void paintChart(final long requestPerMin, final List saveRequestTimes, int countUrls) {
saveRequestTime=saveRequestTimes;
minTime = Long.parseLong((String) Collections.min(saveRequestTimes)); // Hier soll die Min Zeit aus der Array List gelesen werden und in die long Variabel minTime geschrieben werden
maxTime = (long) Long.parseLong((String) Collections.max(saveRequestTimes)); // Hier soll die Max Zeit aus der Array List gelesen werden und in die long Variabel maxTime geschrieben werden
[ . . . ] // hier wird mit der maxTime und minTime ein Diagramm gezeichnet...
}
Nun bekomme ich die Fehlermeldung java.lang.ClassCastException: java.lang.Long
Beim 2. Code Zeile 5 wird dieser Fehler erzeugt...
Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ClassCastException: java.lang.Long)
at org.eclipse.swt.SWT.error(SWT.java:2691)
at org.eclipse.swt.SWT.error(SWT.java:2616)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:109)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at ch.siemens.m2y.tools.httprequestapplication.HttpRequestTool.main(HttpRequestTool.java:1350)
Hintergund: Collections.min() hat als Rückgabewert ein Object. du weißt aber, dass es sich dabei um einen long handelt. also kannst du in long konvertieren.