#1 14. Dezember 2007 Integer = Nil setzten Hi Ich setzte einem Integer wert immer wieder neue werte zu. Wenn ich das Programm neu starten will, soll der wert wieder Nil sein. 0 reicht nicht aus, weil der dann ein Wert hat Kann mir jemand dabei helfen? + Multi-Zitat Zitieren
#2 14. Dezember 2007 AW: Integer = Nil setzten nil ?! bist wohl von Delphi auf Java umgestiegen in Java gibt es kein nil nur NULL nd des kann man einfach mit bla = null; machen ^^ greetz Mutator + Multi-Zitat Zitieren
#3 14. Dezember 2007 AW: Integer = Nil setzten dann kommt die fehlermeldung cannot convert from null to int + Multi-Zitat Zitieren
#4 14. Dezember 2007 AW: Integer = Nil setzten hi, logisch, dass das nicht geht. denn NULL ist keine zahl. es gibt zwei möglichkeiten. variante 1 Code: int n = (Integer) null; // java.lang.NullPointerException bekommst du eine exception (kannst du aber mit try catch abfangen) variante 2 Code: int n = 0; ist die einfachste variante. nice day!!! + Multi-Zitat Zitieren
#5 14. Dezember 2007 AW: Integer = Nil setzten 0 ist aber schon ein wert, nil bedeutete ja dass die variable keinen inhalt hat. + Multi-Zitat Zitieren
#6 14. Dezember 2007 AW: Integer = Nil setzten ach so jetzt verstehe ich es. aber dann brauche ich sie doch nocht nicht zu deklarieren. sondern erst dann, wenn ich sie brauche!?!?! denn so würde sie doch nur unnötigen speicher belegen. nice day!!! + Multi-Zitat Zitieren
#7 14. Dezember 2007 AW: Integer = Nil setzten mach doch dann einfach nur: int n; <-- dann haste noch keinen wert zugewiesen. MfG + Multi-Zitat Zitieren
#8 18. Dezember 2007 AW: Integer = Nil setzten In Java kann man nur Objekte mit "<Objektname>=null" leeren. Dadurch wird das Objekt in der Regel durch den Garbage Collector zerstört (vorausgesetzt es gibt keine anderen Verweise/Pointer da drauf) und der Speicher freigegeben. Auch das muss dir klar sein: "null" bedeutet in Java "leer", hat also *ausschließlich* mit Speicherverwaltung zu tun! Eine Integervariable kannst du aber in eine Klasse kapseln, wenn du diese Funktionalität unbedingt brauchst. Natürlich lässt es sich dadurch bei weitem nicht mehr so komfortabel nutzen und du produziert wahrscheinlich viele Speicherfehler damit, aber hier mal ein Beispiel: Code: public class myInt { int integer; public void myInt(int a) {integer=a;} public void set(int a) {integer=a;} public int get() {return integer;} } Warum darfst es denn nicht "0" sein? Was für eine Funktionalität brauchst du genau, die das verhindert? + Multi-Zitat Zitieren
#9 19. Dezember 2007 AW: Integer = Nil setzten In java wird dann automatisch der Wert 0 zugewiesen. Versuch doch einfach mal, wie harry1526 schon sagte, ob du n erst wenn du sie brauchst erstellen kannst. Sprich mit ner if-Abfrage oder so. mfg + Multi-Zitat Zitieren
#10 19. Dezember 2007 AW: Integer = Nil setzten falsch NULL bedeutet das die Variable keinen inhalt hat, Nil bedeutet das die Speicheradresse der Variable Freigegeben wird also quasie das die Variable nie im Stack existiert hat + Multi-Zitat Zitieren
#11 20. Dezember 2007 AW: Integer = Nil setzten Mutator, das ist ein- und dasselbe. Wenn du in Java eine Objektvariable=null setzt, so gibt der Garbage Collector den verwiesenen Speicherbereich vollautomatisch frei. Einzige Ausnahme: es gibt noch andere Verweise auf den Speicher. Dazu braucht man nicht mal nen Destruktor oder eine explizite Speicherfreigabe. In anderen Sprachen schon, Java ist da aber vor allem sehr komfortabel. In C++ hast du dagegen die volle Kontrolle und Performance, musst dafür aber auch ab und an wilde Zeiger jagen gehen. + Multi-Zitat Zitieren
#12 20. Dezember 2007 AW: Integer = Nil setzten Das ist in Java vielleicht so das weiß ich auch aber in Java gibt es ja auch kein Nil deswegen habe ich die Erklährung allgemein gehalten ( Nil gibt es soweit ich weiß nur in Delphi aber ich kenne nicht alle Programiersprachen ) + Multi-Zitat Zitieren
#13 21. Dezember 2007 AW: Integer = Nil setzten Nil gibt es auch in ruby^^ Null für ein int zu setzen ist unmöglich! (Weil int kein objekt ist in java). Sowas geht nicht, da müsstest du mit Integer arbeiten und dein Integer zu int wandeln sobald es einen Wert hat! Sowas würde dann gehen: Code: Integer a = null; System.out.println(a); mfg razgoolyy + Multi-Zitat Zitieren