日期:2011-03-22 16:17:00 来源:本站整理
java的vector 用法[Java编程]
本文“java的vector 用法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Vector的用法很简单,这已在前面的例子中得到了证明.固然我们大大都时刻只需用addElement()插入对象,用elementAt()一次提取一个对象,并用elements()得到对序列的一个“列举”.但仍有其他一系列办法是非常有效的.同我们关于Java库惯常的做法一样,在这里并不利用或报告全部这些办法.但请务必阅读呼应的电子文档,对它们的工作有一个大约的熟习.
1. 崩溃Java
Java尺度调集里包含了toString()办法,所以它们能生成自己的String表达方法,包含它们包容的对象.比方在Vector中,toString()会在Vector的各个元素中步进和遍历,并为每个元素调用toString().假定我们目前想打印出自己类的地址.看起来仿佛简单地引用this便可(分外是C++程序员有这样做的偏向):
若只是简单地成立一个CrashJava对象,并将其打印出来,就会得到无穷无尽的一系列违例错误.但是,假定将CrashJava对象置入一个Vector,并象这里演示的那样打印Vector,就不会呈现什么错误提醒,乃至连一个违例都不会呈现.此时Java只是简单地崩溃(但至少它没有崩溃我的操作系统).这已在Java 1.1中测试通过.//: CrashJava.java // One way to crash Java import java.util.*; public class CrashJava { public String toString() { return "CrashJava address: " + this + "\n"; } public static void main(String[] args) { Vector v = new Vector(); for(int i = 0; i < 10; i++) v.addElement(new CrashJava()); System.out.println(v); } } ///:~
此时发生的是字串的自动范例转换.当我们利用下述语句时:
"CrashJava address: " + this
编译器就在一个字串背面发现了一个“+”以及好象并非字串的其他东西,所以它会试图将this转换成一个字串.转换时调用的是toString(),后者会产生一个递归调用.若在一个Vector内呈现这种事情,看起来仓库就会溢出,同时违例掌握机制根本没有机会作出呼应.
若确切想在这种情形下打印出对象的地址,办理筹划就是调用Object的toString办法.此时就没必要加入this,只需利用super.toString().当然,采纳这种做法也有一个前提:我们必须从Object直接担当,大概没有一个父类覆盖了toString办法.
以上是“java的vector 用法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论