为了账号安全,请及时绑定邮箱和手机立即绑定

java 怎样将String类型转换成自定义类型

java 怎样将String类型转换成自定义类型

隔江千里 2019-04-10 17:15:11
我之前写了一种将其转成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类型

查看完整回答
反对 回复 2019-05-14
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

Version里面是什么东西,肯定不能这样强转,类型都不一样


查看完整回答
反对 回复 2019-05-14
?
喵喔喔

TA贡献1735条经验 获得超5个赞

你这样子强制转换肯定会报错强制转换错误的。因为你是把Object类型的obj强制转换成你自定义的Version类型,是把父类型转换成子类型,所以不行;你把子类型转换成父类型就不会有这个问题了。所以你要解决这个问题的话可以试试:1.在Version类里面加方法,2.将String类型的1.1.1通过你刚添加的方法进行格式转换并返回,3通过该方法得到的该字符串就是你自定义的类型的了。


查看完整回答
反对 回复 2019-05-14
?
长风秋雁

TA贡献1757条经验 获得超7个赞

强制转换肯定会报错,直接加括号强转就相当于你把土豆说成苹果卖给别人。必然是不行的。
重点在你的version类里面,需要你在version进行特殊处理

查看完整回答
反对 回复 2019-05-14
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

你要知道string类型被final修饰,不能被继承,你的version类和string类型本身就是两种类型,你要做的的话简单,把string的类里面的代码复制一份到version里面去,然后随便修改一下就差不多了可以用了。


查看完整回答
反对 回复 2019-05-14
  • 5 回答
  • 0 关注
  • 2561 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信