String
strumenti di classe CharSequence
e inoltre si estende dalla classe Object
. Quindi, se qualcuno sta usando un altro tipo di CharSequence
dobbiamo typecast come la vostra prima versione (String)value
[(String)value
se contiene String
oggetto e (StringBuffer)value
per StringBuffer tipo di oggetto]
Chi toString()
dobbiamo ignorare toString()
metodo nella nostra classe, che mostrerà la nostra rappresentazione dell'oggetto in formato String secondo il nostro requisito.Se non l'override quindi di default attuazione toString()
da Object
classe sarà ereditato e daremo la stringa in rappresentazione esadecimale del codice hash del nostro oggetto come [email protected]
altre applicazioni di CharSequence
sono CharBuffer, StringBuffer, StringBuilder
1>(stringa) valore significa value
contiene oggetto String. Se non contiene String
il ClassCastException
verrà lanciato in fase di runtime. Typecasting genererà un'eccezione in fase di compilazione se si esegue il typecast con una gerarchia di tipo irrilevante. come indicato di seguito
Exception e = new Exception();
String str = (String)e;
2> Richiamo toString() significa anyobject
non è necessario essere un oggetto String
. Il corretto metodo di sovrascrittura toString()
nella nostra classe sarà utile per la rappresentazione String della nostra classe e inoltre sarà mai generare alcuna eccezione esistente nel mondo java perché eredita toString()
dalla classe di oggetti. Così, se l'Override toString e si stampa System.out.println(userObject);
allora non mostrerà rappresentazione esadecimale del codice hash del nostro oggetto come [email protected]
public class UserObject {
String name;
int age;
@Override
public String toString() {
return " Name="+name+" \n age="+age;
}
public static void main(String[] args) {
UserObject uo = new UserObject();
uo.name="AAA";
uo.age=18;
System.out.println(uo); //output will be "Name=AAA age=18" instead of "[email protected]"
}
}
A proposito di nuovo lungo (valore) e del valore (Long).
new Long(value)
significa che il valore è long/String
e si desidera convertirlo in oggetto wrapper classe Long
. Quindi puoi usare Long (long), Long (String) constructor come da condizioni.
La spiegazione del typecasting lungo è simile a quella del typecasting di stringa o di un typecasting. (Long)value
significa che quando si ottiene il codice come di seguito, è possibile digitare a lungo, intero, doppio e dipende dal valore assegnato sul lato destro del simbolo di uguale.
Number i=10L; //java.lang.Number
Long a= (Long)i;
vedere la mia risposta aggiornata. – AmitG