Wenn ich diesen Code ausführen die Ausgabe (MyInt @ 15db9742) -Objekt Adresse-:Aufschalten toString(), aber der Datentyp Integer
public static void main(String[] args) {
MyInt myInt = new MyInt(2);
System.out.println(myInt);
}
class MyInt {
public int val;
public MyInt(int val){
this.val = val;
}
}
Was ich will, ist zu tun: das val zu drucken, ohne myInt.val
Ich habe versucht, toString() zu überschreiben ?!
public String toString(){
return ""+val;
}
und es funktioniert! Aber ich mag, dass der Rückgabetyp int/Integer NICHT String sein, und es gibt einen Compiler-Fehler
Der Rückgabetyp mit Object.toString unvereinbar ist()“
, wenn ich den Rückgabetyp ändern zu int gibt es eine Möglichkeit, das zu tun
EDIT:.?
Kurz:
Integer integer = new Integer(5);
int INT = integer;
System.out.println(INT);
So
Ich will myClass "MyInt" funktioniert wie Klasse "Integer" so kann ich int val direkt zuweisen
MyInt myInt = new MyInt(5);
int INT = myInt; // I don't need to type "myInt.val"
System.out.println(INT);
Warum möchten Sie den Rückgabetyp ändern? Wenn Sie eine Methode wünschen, die ein 'int 'zurückgibt, machen Sie einfach eine andere Methode. – resueman
Nein. Der ganze Punkt von toString() 'besteht darin, eine Klasse ** in einen String ** umzuwandeln. – azurefrog
Ich möchte das (int val) zurückgegeben werden, wenn ich das Objekt myInt aufrufen. Zum Beispiel: String s = new String ("Hallo"); Druck (e); es wird "Hallo" nicht die Adresse – AndroidDev