Object 中toString方法

来源:百度知道 编辑:UC知道 时间:2024/05/23 20:38:45
已经学习到Servlet了,但是对toString方法的理解还不是很深刻,现有一个servlet的代码,其中一个关于toString的方法望高手指点一下:
Enumeration params = this.getServletCongif.getinitParamNames;
while(params.hasMoreElements){
String name = params.nestElement().toString();
//或String name = (String)params.nextElement();
//后面略................
}
通过遍历得到一个Objecg对象需要强转为String或是调用toString()方法。但是通过调用toString方法我不太明白。既然得到的是Object对象,那调用的也是Object中的toString方法,返回的应该是个getClass().getName() + "@" + Integer.toHexString(hashCode());,而不是String对象,为什么它和强转的效果是一样的呢?
上面的代码有些笔误,重新修改一下:
Enumeration params = this.getServletConfig.getinitParamNames;
while(params.hasMoreElements){
String name = params.nextElement().toString();
//或String name = (String)params.nextElement();
//后面略................
}

那是枚举的toString不是Object的toString
明白?

getClass().getName() + "@" + Integer.toHexString(hashCode())
这个返回的是String对象啊,几个字符串相加撒。

很简单,就是Objcet的toString()方法被Enumeration 重写了,它自己就做了处理