Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Variable might not have been initialized
Servus. Ich habe eine Frage bezüglich der Fehlermeldung “The local variable st may not have been initialized”.
und zwar sieht mein Code in etwa so aus:
Statement st;
customClass connector;
try
{
//do something
}
catch(Exception e)
{
//handle Exception
}
finally
{
if(st != null)
{
st.close();
}
if(connector != null)
{
connector.disconnect();
}
}
jetzt ist klar, dass er mekkert, weil er denkt st und connector wurden noch nicht initialisiert.
kann ich diese Fehlermeldung irgendwie Abschalten, bzw umgehen, denn ich weiß ja was ich mache, und prüfe, ob die Variablen initialisiert wurden.
Danke schonmal für eure Hilfe
try - ich meinte, versuche es mit:
Statement st = null;
customClass connector = null;
PERFEKT, danke. Da hätte ich auch selbst drauf kommen können
hab noch eine Frage:
ich will einen String zusammenbauen (Reihenfolge der Bauteile egal)
aus etwa 800k Elementen. (ebenfalls Strings, also string = string + (“bla” + stringarray[1] + “bla” + stringarray[1] + “bla” + stringarray[2]);, wobei stringarray immer das ite Element eine Arraylist (mit 800k Elementen) ist)
Das ganze läuft mir linear viiiiiel zu lahm. kann ich das ganze auch irgendwie effektiv parallel implementieren?
Habe Angst vor Racecondition. :scared:
http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html ist deutlich schneller als Konkatenation mit +
Zu parallel: Verknuepf doch in jedem Thread nur einen Teil der Strings und am Ende alle zusammen.
Wobei der StringBuilder erst richtig schnell wird, wenn du ihm im Konstruktor schon die richtige Größe (oder eine vernünftige Abschätzung derselben) übergibst. Ansonsten wird die Laufzeit nämlich von Speicherallokationen und -freigaben dominiert.
laufzeit runter von geschätzt 2-3 Stunden auf Sekunden. Danke