我之前写了一种将其转成Object,之后会输出java.lang.ClassCastException。public class VersionNumber {
public static void main(String[] args) {
final Version[] oldVum = new Version[1];
String oldNum = "1.1.1";
Object obj=oldNum;
oldVum[0] = (Version)obj;
System.out.print(oldVum[0]);
}
}我想要将String类型的1.1.1改成我自定义Version类型,应该怎样转换呢?
5 回答
慕森王
TA贡献1777条经验 获得超3个赞
在自定义的Version里面加个构造函数,
public Version(String versionNo){
this.version = versionNo
} 或者普通成员函数,里面创建根据数据创建一个Version类型
喵喔喔
TA贡献1735条经验 获得超5个赞
你这样子强制转换肯定会报错强制转换错误的。因为你是把Object类型的obj强制转换成你自定义的Version类型,是把父类型转换成子类型,所以不行;你把子类型转换成父类型就不会有这个问题了。所以你要解决这个问题的话可以试试:1.在Version类里面加方法,2.将String类型的1.1.1通过你刚添加的方法进行格式转换并返回,3通过该方法得到的该字符串就是你自定义的类型的了。
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
你要知道string类型被final修饰,不能被继承,你的version类和string类型本身就是两种类型,你要做的的话简单,把string的类里面的代码复制一份到version里面去,然后随便修改一下就差不多了可以用了。
添加回答
举报
0/150
提交
取消