[Java] Integer = Nil setzten

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Straight-Edge, 14. Dezember 2007 .

Schlagworte:
  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?
     
  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
     
  3. 14. Dezember 2007
    AW: Integer = Nil setzten

    dann kommt die fehlermeldung

    cannot convert from null to int
     
  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!!!
     
  5. 14. Dezember 2007
    AW: Integer = Nil setzten

    0 ist aber schon ein wert, nil bedeutete ja dass die variable keinen inhalt hat.
     
  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!!!
     
  7. 14. Dezember 2007
    AW: Integer = Nil setzten

    mach doch dann einfach nur:

    int n; <-- dann haste noch keinen wert zugewiesen.

    MfG
     
  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?
     
  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
     
  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
     
  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.
     
  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 )
     
  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
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.