Name zu sehr ähnlich???

Network

Top Contributor
Hi,

Ich habe 2 ArrayLists.
Die eine heißt "BarManagerV" und die andere "BarManagerH".

Beim abruf einer der Strings von beiden, kommt es manchmal dazu, dass ich bei "BarManagerH" beispielsweise das selbe Ergebnis herausbekomme. Was aber eig. unmöglich ist, das genau an der Stelle dieser String steht!!!


Kann es sein, dass irgendwie, Java oder der Compiler, bei den relativ ähnlichen Namen irgendwie durcheinanderkommt?

(Die Listen sind so fest in mein Programm eingebunden, dass es sich nicht lohnt, es auszuprobieren, um später evt. auch noch festzustellen, dass es an etwas anderem liegen muss)


Danke
 
Die Frage hättest du beantworten können, in dem du eins der Arrays in "Nudelsuppe" umbenannt hättest.
Aber nein, an dem Compiler liegt es definitiv nicht. Ein V ist ein V, ein H ist ein H.
Es wird entweder schon so richtig sein, oder der Fehler ist in deinem Code.
 
Nein, das kann nicht sein. Dem Compiler ist es völlig egal, wie ähnlich oder unähnlich sich Bezeichner sind. Das klingt eher nach einem Fehler in deinem Code.
 
Die Frage hättest du beantworten können, in dem du eins der Arrays in "Nudelsuppe" umbenannt hättest.
Aber nein, an dem Compiler liegt es definitiv nicht. Ein V ist ein V, ein H ist ein H.
Es wird entweder schon so richtig sein, oder der Fehler ist in deinem Code.

Ich kontere mit:
"(Die Listen sind so fest in mein Programm eingebunden, dass es sich nicht lohnt, es auszuprobieren, um später evt. auch noch festzustellen, dass es an etwas anderem liegen muss)"

Durch deine zügige Antwort hab ich eine halbe stunde sicherlich gespart 😉

Nö.

Klassisch PEPKAC: Problem exists between keyboard and chair

Zumahl das auch keine gescheiten Namen für Variablen sind. Variablen beginnen in Java klein und Abkürzungen wie H oder V sind bedeutungslos.

Japp, jetzt heißt es mehrere hundert Zeilen lesen, nur um später festzustellen, dass die Antwort die ganze Zeit einem direkt vor der Nase lag 😉

Das DIESE Variablen groß geschrieben sind, hat so seine Eigenbedeutung. Aber Danke 😉
 
Ich kontere mit:
"(Die Listen sind so fest in mein Programm eingebunden, dass es sich nicht lohnt, es auszuprobieren, um später evt. auch noch festzustellen, dass es an etwas anderem liegen muss)"

Durch deine zügige Antwort hab ich eine halbe stunde sicherlich gespart 😉

Ich vermute mal, dass du eine IDE benutzt... da gibt es so coole Sachen wie "Refactor" (hat Netbeans bestimmt auch), wo man die Variablen automatisch umbenennen kann.
 
Das DIESE Variablen groß geschrieben sind, hat so seine Eigenbedeutung.
Bedeuted: Es ist schlecht 😉

Es gibt Code Konventionen aus guten Gründen, wenn du dich daran gehalten hättest (und das betrifft nicht nur die Großschreibung), hättest du das Problem gar nicht gehabt, denn dann hättest du die beiden Variablen nicht verwechselt 😉
 
Ok hab den Fehler im Code gefunden... nur... wie ist das hier möglich???
Ich finde den Fehler des Fehlers nicht.

Die Ausgabe ist: "BMV set" und "BMH set"

Java:
				 if( architect == 1 )
				 {
				 	if( typ.equals( "V" ));
				 	{
				 		System.out.println( "BMV set" );
				 		barManagerV.get( line ).set( c, "false" + "FundamentDrawed" );
				 		masterInspektor = "GREENLIGHT";
				 	}
				 	if( typ.equals( "H" ));
				 	{
				 		System.out.println( "BMH set" );
				 		barManagerH.get( line ).set( c, "false" + "FundamentDrawed" );
				 		masterInspektor = "GREENLIGHT";
				 	}
				 }

Wie gesagt... Ausgabe sind beide "System.out.println"
Bin ich blind oder wie?

Vielen Dank
 
Könnte es sein, dass drumherum eine Schleife ist, und dass sind einfach 2 verschiedene Ausgaben?

:shock: Da hat wohl jmd. Reflexe einer Jagdschlange. Das erstaunt mich immer wieder... 😉

Aber um auf die Frage zurück zu kommen:
Ich hab den Code jetzt erweitert um eine Integervariable.
Die zählt plus 1 sobald das Codefragment ausgeführt wurde.
Und wird mit ausgegeben, sobald da sCodefragment ausgeführt wird.
Um auszuschliesen, dass nicht wirklich ausversehen, eine Schleife oder derartiges dafür verantwortlich ist.
Die Ausgabe ist bei beiden die selbe Zahl.
 
Ahh jetzt hab ich den Fehler.

Habe ausversehen, ein ";" hinter das If gesetzt.

Zum Glück gibts ein Anfängerforum sonst müsste ich mich jetzt schämen...

Danke nochmals XHelp. So langsam wird es eine ehre von dir eine Antwort zu bekommen.
 
Hmm, sehr komisch. Von welchem Typ ist den die Variable "typ"? Kann es sein das sich die "equals"-Methode
für den Type irgendwie verhaspelt? Gib doch mal auch die Bedingung für das if aus.

Java:
System.out.println("if(V): " + typ.equals( "V" ));

EDIT: OK, hat sich dann ja wohl erledigt 😉 Jetzt wo du es gesagt hast, hab ich die
Semikolons sofort gesehen 😱
 

Zurück
Oben