(int)XX与Integer.parseInt(XX)有什么区别啊,能不能详细点给我解释一下
(int)方式称为强制转换,是相同等级之间的类型转换,不能int(String)。
Integer.parseInt(XX),只能是Integer.parseInt(String),专门将String转为int
数值类型(就是除了boolean之外的其他7种基本数据类型)之间似乎都可以互相强转,其实没必要去追求个什么概念,只要到时候知道什么时候应该强转,该怎么强转就可以了.
parseInt()方法是Integer类的一个方法,目的是将一个String类型的数值表示的值转换为int型.
两者没有关系.
首先要知道Integer是int的包装类;Integer是对象,而int是基本数据类型;前者相当于父亲,后者相当于儿子;
转换的区别:
1.(int)方式称为强制转换,是相同等级之间的类型转换;
2.Integer.parseint()就是把整形对象(属于包装类)Integer转换成基本数据类型int(整数),可理解成 上级转换成下级;
区别就是 强转方式 无法将 字符串转成int 会报错 不信你试试
int tt = (int) "123";
而后面一直只是Integer的一个类方法,目的就是把String类型转成Integer类型,然后默认拆箱
Integer a = 1;
int tt = a;
上面这两个 其实都是自动转换的,但是一个是类 一个是基本类型。相当于
Integer a = (Integer)1;
int tt = (int) a;
至于哪些类之间能强转,其实我的理解是这样的,普通强转不会改变对象真实的内容,只是改变了它对外的形象。
就像一个子类强转成父类的时候,你去调用重写的方法,其实还是会执行子类的方法,而这里基本类型和类之间的转换
属于特殊情况,这里隐藏了装箱拆箱操作。
个人见解 如果有误 希望被指正
String 是包装类,与int不同级。String对应的基本类型应该是char[]的这种数组