Mailinglist Archive: opensuse-programming-de (171 mails)

< Previous Next >
Re: Bug in Sun J2SDK 1.4.1
  • From: Manfred Tremmel <Manfred.Tremmel@xxxxxx>
  • Date: Sun, 12 Jan 2003 22:15:46 +0100
  • Message-id: <200301122215.46995.Manfred.Tremmel@xxxxxx>
Am Sonntag, 12. Januar 2003 21:21 schrieb Bernhard Walle:

> $ java Test
> $ java Test 2
> $ java Test 2 3
> Mehr als ein Argument übergeben!
> $ java Test 2 3 5
> Mehr als ein Argument übergeben!

Hm, komisch.

> $ java -version
> java version "1.4.1_01"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
> Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

Noch komischer, hab exakt die selbe version, mit exakt der gleichen
Ausgabe.

> Ich will ja nichts sagen, aber wie kommt man auf solchen Code? Ich

Ganz einfach, weil mir der Chef in der Ausbildung erklärt hat, dass wir
kein ungleich verwenden sollen. Kostet jede Menge Performance, meinte
er (ok, PL/I mit IBM 3270 Großrechner, aber prägt sich halt ein).

> würde halt einfach
>
> if ( !( was auch immer) ) {
> tu was;
> }

Hab ich auch gemacht, damit läuft auch alles. Konkret gehts um ne
Suchmaske, in der zig Felder zur Verfügung stehen, aber nicht alle
eingetippt werden, ich hab die dann eben abgefragt:

...
// Suche nach Namen
SuchString = req.getParameter("such_nachname");
if( SuchString == null ||
SuchString.equals(""));
else
{
if(SQLWhere == null)
SQLWhere = "WHERE ";
else
SQLWhere += " AND ";
SQLWhere += de.KnightSoft.Allgemein.StringToSQL.SuchString("tl.Name",
SuchString);
}
...

Es blieb SQLWhere leer bis zum Schluss, und ich hab nichts als ne
SQL-Exception geernted. Obwohl definitiv SuchString gefüllt war (habs
ausgegeben), der else-Zweig wurde auch nie betreten (JDK 1.1.8 - 1.3.1
lief es problemlos). Habs dann natürlich geändert:

...
// Suche nach Namen
SuchString = req.getParameter("such_nachname");
if( !(SuchString == null ||
SuchString.equals("")))
{
if(SQLWhere == null)
SQLWhere = "WHERE ";
else
SQLWhere += " AND ";
SQLWhere += de.KnightSoft.Allgemein.StringToSQL.SuchString("tl.Name",
SuchString);
}
...

So funktionierts (Zeilenumbruch wegdenken).

> schreiben. Aber funktionieren müsste es natürlich weil es sich ja
> nach dem if () ein Semikolon, also genau eine (leere) Anweisung steht
> so wie es gefordert wird. Und hier funktioniert es auch. BTW: SuSE
> 7.2.

Naja, SuSE 8.1, RPM selber gebastelt aus dem tar-File.

--
Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/
| http://packman.links2linux.de/
Manfred | http://www.knightsoft-net.de


< Previous Next >