为什么出现:Type safety:The method addElement(Object) belongs to the raw type Vector.References to generic type Vector <E>
1 这个是 JDK5.0以后的泛型引起的,如果你确认保存到vector里面的就是你要的,可以不用管它
2 你也可以修改
Vector v = new Vector();
为
Vector <Integer> v = new Vector <Integer>();
警告就没有了,不过你也只能向 v 里面放入 int 或 Integer了(比int小的short,byte也可以,呵呵!)。
问题原因已经都提示得不能再清晰了,呵呵,楼主的英文得加强了啊。
The method addElement(Object) belongs to the raw type Vector. References to generic type Vector<E> should be parameterized
修改方法,你new Vector=new Vector(Integer)
即可。
一般编译器无法知道Vector引用了何种类型,这样的没有带有类型的Vector称为row type。这样的类型表示一些未知类型,相当于Vector<?>。
toLocaleString()方法已过时
你可以查看API
此方法已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代
是sun所不推荐使用的方法,你可以用 DateFormat.format(Date date)代替。
toString()是Object类的一个方法,很多它的子类(所有类都继承于它)都重载了这个方法,一般就是将一个对象转化为字符串形式。
以下的是补充:
API中的解释:
format
public final String format(Date date)将一个 Date 格式化为日期/时间字符串。
参数:
date - 要格式化为时间字符串的时间值。
返回:
已格式化的时间字符串。
你可以用
java.util.Date NowTime = new java.util.Date();
this.CreateTime =java.text.DateFormat.getDateTimeInstance().format(NowTime);//CreateTime应为String对象
toLocaleString(); 是将一个Date对象转化为本地样式,因为日期有很多表示形式,国别不能表示一般就不一样,这个方法可以获取本地样式进行显示。不过可能存在一些问题或者功能方法不能满足需要,所以过时了。
至于toString()是Object类中的一个方法上边已经说过了。原型如下:
Object中的
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
Date中重载的
public String toString() {
// "EEE MMM dd HH:mm:ss zzz yyyy";
BaseCalendar.Date date = normalize();
StringBuilder sb = new StringBuilder(28);
int index = date.getDayOfWeek();
if (index == gcal.SUNDAY) {
index = 8;
}
convertToAbbr(sb, wtb[index]).append(' '); // EEE
convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' '); // MMM
CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd
CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':'); // HH
CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm
CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
TimeZone zi = date.getZone();
if (zi != null) {
sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
} else {
sb.append("GMT");
}
sb.append(' ').append(date.getYear()); // yyyy
return sb.toString();
}
然后是Date中的toLocaleString()方法
@Deprecated
public String toLocaleString() {
DateFormat formatter = DateFormat.getDateTimeInstance();
return formatter.format(this);
}
可以看出它实际上调用了DateFormat的format()方法,也就是说这个方法完全可以被DateFormat的format()代替