Supponiamo che io ho due classi derivanti da una terza classe astratta:Esiste una forma di casting "sicuro" in Java?
public abstract class Parent{
public Parent(){
}
}
public class ChildA extends Parent {
public ChildA {
}
}
public class ChildB extends Parent {
public ChildB {
}
}
In C# ho potuto gestire la fusione in modo sicuro un po 'tipo da fare:
ChildA child = obj as ChildA;
che renderebbe bambino == null se non era un oggetto di tipo ChildA. Se dovessi fare:
ChildA child = (ChildA)obj;
... in C# questo genererebbe un'eccezione se il tipo non era corretto.
Quindi, in pratica, c'è un modo per fare il primo tipo di casting in Java? Grazie.
duplicati : http://stackoverflow.com/questions/148828/how-to-emulate-c-sharp-as-operator-in-java –
Scuse. Ho cercato "type safe casting java". Non mi è venuto in mente di cercare "come parola chiave java". – garrettendi
E poi esplode con un NPE. ;) –