مثال

public ObjectDowncast_Example( String str ) {
super();
this .str = str;
}

public Object getString(){
return str;
}

private String str;

public static void main( String[] args ) {
ObjectDowncast_Example example = new ObjectDowncast_Example("Hello World!"); //$NON-NLS-1$
String str = (String)example.getString();
System.out.println( str );
}

الحل
تغيير الطريقة لكي تقوم بارجاع نوع البيانات الفعلي بدلا من java.lang.Object.
اذا قامت الطريقة بارجاع عناصر ذات أنواع لا تشترك في فئة أو واجهة تعامل واحدة، يجب تكوين واجهة تعامل أو فئة جديدة وتضمين العنصر بها.

public ObjectDowncast_Solution( String str ) {
super();
this .str = str;
}

public String getString() {
return str;
}

private String str;

public static void main( String[] args ) {
ObjectDowncast_Solution example = new ObjectDowncast_Solution("Hello World!"); //$NON-NLS-1$
String str = example.getString();
System.out.println( str );
}