如何将string转换成DefineSelf类型,代码如下,我是强制将lost转换成DefineSelf类型。但是在程序里面报错的。请问真正的该如何实现谢谢。public class DefineSelf{
public DefineSelf(){
}
.... //自定义的程序
}public class A{
public String lost;
DefineSelf ds = new DefineSelf();
public DefineSelf disk(){
  ds = (DefineSelf)lost;   //要将lost的值赋给ds,我是强制将lost转换成DefineSelf类型。但是在程序里面报错的。请问真正的该如何实现
}
}

解决方案 »

  1.   

    给 DefineSelf类 写一个有参的构造函数不行吗
     public DefineSelf(String str){
       把str分析成成员变量
     }
      

  2.   

    public class DefineSelf{
    public DefineSelf(){
    }
    .... //自定义的程序
    }
    public class A{
    public String lost;
    DefineSelf ds = new DefineSelf();
    public DefineSelf disk(){
    Object obj=lost;
      ds = (DefineSelf)obj; 
      return ds;
    }
    }编译通过。。强制转换是在父类和子类之间进行,DefineSelf和String不存在任何关系。他们唯一的联系是都是默认继承Object类。这个时候要进行转换先将一个类赋给Object。然后在强制转换成另一个类。
      

  3.   

    ds= (DefineSelf)obj;
    执行到这步的时候,我报下面的错误
    java.lang.ClassCastException
      

  4.   

    ...强类型转换除了基本类型之间存在一定的默认转换关系外,其他类的强类型转换要有继承关系的啊DefineSelf类和String虽然都是继承Object类,但是这两个类本身没有任何关系啊
      

  5.   

    编译通过。。强制转换是在父类和子类之间进行,DefineSelf和String不存在任何关系。他们唯一的联系是都是默认继承Object类。这个时候要进行转换先将一个类赋给Object。然后在强制转换成另一个类。这位兄弟说的,我觉得应该行的通。
      

  6.   

    我觉得没有必要,你为什么要将String
    类型的对象强制类型转换成你的自定义类型呢?
    你完全可以用set/get方法实现啊?