Integer包装类的ToString()方法有没有重写父类Object类的此方法?
答案:3 悬赏:10 手机版
解决时间 2021-01-29 03:58
- 提问者网友:骨子里的高雅
- 2021-01-28 09:00
Integer包装类的ToString()方法有没有重写父类Object类的此方法?
最佳答案
- 五星知识达人网友:封刀令
- 2021-01-28 10:38
是重写了的。
楼上找错了。
Integer中覆盖Object的toString是这样写的:
public String toString() {
return String.valueOf(value);
}
而楼上找的是toString()的多态方法。
从jdk1.5后,java有了自动装箱与拆箱机制,可以将基本数据类型与其封装类之间自动转换,而不需要程序显示的转换。
比如泛型不能 是基本数据类型,但是有了自动装箱与拆箱机制后,
可以这样写了。
List<Double> list=new Liste<Double>()
list.add(0);
list.add(1);
........
楼上找错了。
Integer中覆盖Object的toString是这样写的:
public String toString() {
return String.valueOf(value);
}
而楼上找的是toString()的多态方法。
从jdk1.5后,java有了自动装箱与拆箱机制,可以将基本数据类型与其封装类之间自动转换,而不需要程序显示的转换。
比如泛型不能 是基本数据类型,但是有了自动装箱与拆箱机制后,
可以这样写了。
List<Double> list=new Liste<Double>()
list.add(0);
list.add(1);
........
全部回答
- 1楼网友:不如潦草
- 2021-01-28 12:58
从源码里看:
Object类的原始toString方法:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
Integer类的toString方法:
public static String toString(int i, int radix) {
if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
radix = 10;
if (radix == 10) {
return toString(i);
}
char buf[] = new char[33];
boolean negative = (i < 0);
int charPos = 32;
if (!negative) {
i = -i;
}
while (i <= -radix) {
buf[charPos--] = digits[-(i % radix)];
i = i / radix;
}
buf[charPos] = digits[-i];
if (negative) {
buf[--charPos] = '-';
}
return new String(buf, charPos, (33 - charPos));
}
所以很明显重写了
希望对你有帮助
- 2楼网友:青灯有味
- 2021-01-28 11:19
从源码里看:object类的原始tostring办法:public string tostring() { return getclass().getname() \"@\" integer.tohexstring(hashcode()); }integer类的tostring办法: public static string tostring(int i, int radix) { if (radix character.max_radix) radix = 10; if (radix == 10) { return tostring(i); } char buf = new char33; boolean negative = (i < 0); int charpos = 32; if (啊negative) { i = -i; } while (i
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯