Einige Methoden sind in Eclipse 3.4 (Ganymed) als deprecated
gekennzeichnet. Wie kann ein Icon in einem Plug-In geladen werden? „Icons im Eclipse Plug-In laden“ weiterlesen
Integer Caching
Schau Dir mal diesen Code an. Was erwartest Du bei dem 3. Vergleich?
public class Test {
public static void main(String[] args) {
Integer wertGleich = 100;
Integer wertAuchGleich = 100;
// Referenzvergleich: Test 1
System.out.println(wertGleich == wertAuchGleich); // ergibt true
// gleicher Test nur mit anderen Wert
Integer wertGleichZwei = 122;
Integer wertAuchGleichZwei = 122;
// Referenzvergleich: Test 2 auch
System.out.println(wertGleichZwei == wertAuchGleichZwei); // ergibt true
// Dreimal ist Bremer Recht: Test 3: Gleicher Test nur mit anderen Wert
Integer wertUngleich = 150;
Integer wertAuchUngleich = 150;
// Was erwartest Du? „Integer Caching“ weiterlesen
Java in 5 Minuten (engl.)
Ein kleines HowTo Video für den Java Einstieg „Java in 5 Minuten (engl.)“ weiterlesen
Exceptions nur für Ausnahmen verwenden
Exceptions sollen immer nur für Ausnahmen und nicht für den normalen Programmablauf verwendet werden.
Also ist dies ein NO GO:
try{
int i =0;
while (true){
range[i].climb();
}catch(ArrayIndexOutOfBoundsException e){
}
Bei eine Endlosschleife die mit einer ArrayIndexOutOfBoundsException
abbricht wird der Programmablauf über die Exception gesteuert. Das ist falsch.
Also Exceptions nur für Ausnahmen verwenden.
Aufgabe: Wie könnte es richtig gemacht werden?
(see Joshua Bloch Item 57)
Quvadis Java
So geht es also mit Java weiter.
Keine unbehandelten Exception
Gefangene Exception müssen immer behandelt werden. Das ist der Sinn von Ausnahmen.
Ein ignorieren der Exception ist so wie das ausschalten eines Brandmelders. Wenn es brennt nützt der dann auch nichts mehr.
So auch die Exception die gefangen werden.
Sie sollen ja ein Ausnahme sein, die auch dem entsprechend behandelt werden soll.
try
{
// ...
}catch(IrgendeineException e)
{
// in Ausnahmefällen kann hier ein Kommentar stehen,
// warum nichts gemacht wird
// aber kein Kommentar und nur ein leerer catch block
// ist ein NO GO!
}
(see Joshua Bloch Item 65)
Java ist auch eine Insel (8. Auflage)
Die Online Referenz für Java, nun auch neu erschienen, am Besten gleich bookmarken (http://openbook.galileocomputing.de/javainsel8/index.htm).