Probleme bei der Übergabe einer Variable

fLooojava

fLooojava

Bekanntes Mitglied
Hi Community,

ich habe eine getter & setter Methode, mitdem ich den Wert einer Seekbar an eine andere Methode weitergebe.
Java:
    public void setBrightness(int progress){
 		bright =progress;
 	}
 //getter
 public int getBrightnessvalue(){
  		return bright;
 }

Nun initialisiere ich ein neuer String mit state und füge den int-Wert, den ich von der getter Methode bekomme dem String bei, indem ich ihn zunächst in einen String umwandle. Soweit so gut, mein TextView wird richtig angezeigt. Beispielsweise "state1123". Wenn ich aber bei meiner sendValue Methode die Variable value verwenden möchte, passiert nichts. Übergebe ich meiner sendValue Methode also "value" geschieht leider nichts, schreibe ich es aber hart kodiert rein - sendValue("state1123") - klappt es wunderbar. Weshalb funktioniert hier meine Variablenübergabe nicht, wobei ich überprüfe, ob mein String value korrekt ist, indem ich ihn anzeigen lasse? UND er korrekt ist? ???:L :bahnhof:


Java:
String value = state+String.valueOf(getBrightnessvalue());
    		test.setText(state+String.valueOf(getBrightnessvalue()));
        	sendValue(value);

Würde mich über Tipps freuen!

Grüße
 
H

Harry Kane

Top Contributor
Dein Post enthält viel zu wenig Code als das ich was sinnvolles zur Lösung beitragen könnte.
 
fLooojava

fLooojava

Bekanntes Mitglied
Hallo Harry Kane,

tut mir leid, ich dachte dies genügt. Hier noch weiterer Code:

Java:
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        progress = progress *20;
       setBrightness(progress);
       
        
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
    

    	if(getState()=="red"){
        	String value = state+String.valueOf(getBrightnessvalue());
    		test.setText(state+String.valueOf(getBrightnessvalue()));
        	sendValue(value);
        } else if (getState() =="green"){
        	String value = state+String.valueOf(getBrightnessvalue());
        	sendValue(value);
        } else if (getState() =="blue"){
        	String value = state+String.valueOf(getBrightnessvalue());
        	sendValue(value);
        }
    }
});

.. code ...

Java:
 public void setBrightness(int progress){
 		bright =progress;
 	}
 //getter
 public int getBrightnessvalue(){
  		return bright;
 }

Java:
 public void setState(String statecolor){
	  state = statecolor;
  }
  public String getState(){
	  return state;
  }

Hilft dir das? Gibt eigentlich nicht mehr Code, die diesen Fehler ansprechen. Die sendValue Methode hat ja nichts damit zu tun.
 
fLooojava

fLooojava

Bekanntes Mitglied
Gut, ich guck mir dass nochmal genauer anhand meinem Code an!

Vielen Dank. :)
 
S

SilverClaw

Aktives Mitglied
Das glaube ich nicht!
"equals" vergleicht die Inhalte der Strings
"==" vergleicht die Objektreferenzen

Glaub es ruhig, das Problem ist nämlich, es stimmt MANCHMAL, was wohl irgendwas damit zu tun hat, dass Java Strings in einem extra Pool vorhält. Wollte einem Nachhilfeschüler auch zeigen, dass == mit Strings nicht klappt und dann gab es doch true aus...:eek:
Aber um sich drauf zu verlassne, sollte man bei equals bleiben. ;)
 
VfL_Freak

VfL_Freak

Top Contributor
Moin,

Glaub es ruhig, das Problem ist nämlich, es stimmt MANCHMAL, was wohl irgendwas damit zu tun hat, dass Java Strings in einem extra Pool vorhält. Wollte einem Nachhilfeschüler auch zeigen, dass == mit Strings nicht klappt und dann gab es doch true aus...:eek:
Natürlich wird dann TRUE zurückgegeben, wenn die REFERENZEN gleich sind!
Das hat aber nach wie vor, nichts mit dem Vergleich der Inhalte der Strings zu tun!

Hier noch mal zwei weitere Links, die es ganz gut erklären :
equals in Java
How do I compare strings in Java? - Stack Overflow

Gruß
Klaus
 
Zuletzt bearbeitet:
Thallius

Thallius

Top Contributor
Hehe,

soweit zu

"Bei Java gibt es keine Pointer"

Nutzt einem trotzdem nichts. Wenn man das Prinzip Pointer nicht kapiert hat kann man halt nicht vernünftig programmieren. Egal welche Sprache.

Gruß

Claus
 
VfL_Freak

VfL_Freak

Top Contributor
Jungs, lest ihr eigtentlich die Links, die man postet ???:L :(
Es hat wirklich nichts mit den Pointern zu tun, die man von C/C++ kennt !!

Also nochmal:
Java:
String a = "foo";
String b = "foo";
// Die JVM sucht String-Literale zuerst im String-Pool !
// Wenn es dort gefunden wird, dann wird eine Referenz darauf an den zweiten String 'b' gegeben! 
ergo: if( a == b ) liefert TRUE
----------------------------
String a = "foo";
String b = new String( "foo" );
// Hier wird das "new String" im Heap erzeugt und die Referenz DARAUF an 'b'
// gegeben!  Dadurch hat also 'b' eine Referenz im Heap und NICHT im String-Pool.
// ==> 'a' zeigt auf den String-Pool, 'b' auf den Heap 
ergo: if( a == b ) liefert FALSE

Oder anders ausgedrückt: mittels „==“ wird (lediglich) getestet, ob die zu überprüfende Objekte das selbe Objekt (exakt am selben Ort im Speicher !) referenzieren.
Wenn beide eine gemeinsame Instanzhaben, dann (und nur dann) gibt ein „==“-Vergleich ein „True“ zurück. Nur die Klassenmethode "equals" vergleicht den INHALT der Strings!

Hoffe, dass es jetzt klarer geworden ist !
Gruß
Klaus
 
Zuletzt bearbeitet:
Thallius

Thallius

Top Contributor
Jungs, lest ihr eigtentlich die Links, die man postet ???:L :(
Es hat wirklich nichts mit den Pointern zu tun, die man von C/C++ kennt !!


Gruß
Klaus

Doch genau das hat es. Eine Referenz ist nunmal ein Pointer. Ein Pointer ist auch nichts anderes als ein Wert, nämlich die Speicheradresse. Vergleiche ich zwei Speicheradressen bekomme ich true wenn es die gleichen sind. Sind also zwei Strings an der gleichen Stelle im Speicher, dann sind sie natürlich auch die gleichen Strings.
Dummerweise ist das aber nicht umkehrbar. Das bedeuetet nämlich nicht, dass zwei Strings mit dem gleichen Inhalt auch an der gleichen Speicherstelle stehen.
Und wenn man das mal kapiert hat, dann leuchtet es auch ein warum man Strings nicht mit == vergleichen kann. Aber dazu gehört das Verständnis wie ein String im Speicher abgelegt ist, nämlich als ein Pointer auf einen Speicherbereich in dem lauter Zeichen stehen.

Gruß

Claus
 
VfL_Freak

VfL_Freak

Top Contributor
ok, so gesehen hast Recht ... hätte besser "Verwendung von" schreiben sollen....
Wenn hier jemand im Zusammenhang mit Java das Wort "Pointer" verwendet, meint er ja i. d. R. das "Call-by-reference", dass es eben in dem Sinne nicht gibt!

Leider sorgen die Begrifflichkeiten immer wieder (gerade auch bei Neulingen) für Verwirrung ...

Gruß
Klaus
 
kaoZ

kaoZ

Top Contributor
Nur nochmal zur Info,

Gleich und Identisch , sind 2 verschiedene Paar Schuhe !

Code:
==
Referenzgleichheit

Code:
.euqals(Object o);
Identitätsprüfung / Inhaltliche Übereinstimmung
Nur weil Zwillinge gleich aussehen sind es trotzdem nicht ein und die selbe Person ;)

oder mit anderen Worten

Referenziert das gleiche Objekt ist nicht das selbe wie, ist Identisch mit einem Objekt


Kleiner Tipp noch für den TO
[TIPP]Wenn man Instanzen von eigens erstellten Objekten vergleichen will sollte man Grundsätzlich IMMER

Java:
.equals(Object o);
.hashcode();
überschreiben !!

Da die Standardimplementierung von .equals(Object o); der Klasse Object nichts anderes macht als einen Referenzvergleich ![/TIPP]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
S Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
littles_de Simbad Simulator probleme mit Sensordaten... Java Basics - Anfänger-Themen 0
M Erste Schritte Probleme beim Verknüpfen von Methoden Java Basics - Anfänger-Themen 15
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
N JDK installieren Probleme mit dem Java Editor Java Basics - Anfänger-Themen 3
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
M Erste Schritte cannot find symbol - Probleme mit Klassen Java Basics - Anfänger-Themen 6
M Wer Wird Millionär - Joker Probleme Java Basics - Anfänger-Themen 25
J OOP Probleme mit UML-Diagramm Java Basics - Anfänger-Themen 6
B Klassen Probleme mit OOP Java Basics - Anfänger-Themen 6
P Probleme bei ActionEvent Java Basics - Anfänger-Themen 8
L Probleme mit Arrays Java Basics - Anfänger-Themen 5
O Probleme mit CSV Daten Java Basics - Anfänger-Themen 10
L Probleme bei Rückgabe eines Arrays in einer Methode Java Basics - Anfänger-Themen 47
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
W GUI-Probleme Java Basics - Anfänger-Themen 3
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
O Probleme mit Starten Java Basics - Anfänger-Themen 2
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
J KeyListener aus anderer Klasse bereitet Probleme Java Basics - Anfänger-Themen 1
P JSON-Konfigurationsdatei verwenden: Probleme mit Pfad Java Basics - Anfänger-Themen 1
L Probleme mit JAR Datei Java Basics - Anfänger-Themen 10
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
B Methoden Probleme mit for Schleife und return Java Basics - Anfänger-Themen 5
B Probleme bei "Daten in CSV File schreiben". Java Basics - Anfänger-Themen 9
D JTable Probleme beim Sortieren von Zahlen. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Anzeige

Neue Themen


Oben