欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Java教程 8.4.1 Vector

發布時間:  2012/8/17 17:27:38

Vector 的用法很簡單,這已在前面的例子中得到了證明。盡管我們大多數時候只需用addElement()插入對
象,用elementAt()一次提取一個對象,并用elements()獲得對序列的一個“枚舉”。但仍有其他一系列方
法是非常有用的。同我們對于Java 庫慣常的做法一樣,在這里并不使用或講述所有這些方法。但請務必閱讀
相應的電子文檔,對它們的工作有一個大概的認識。
1. 崩潰Java
Java 標準集合里包含了toString()方法,所以它們能生成自己的String 表達方式,包括它們容納的對象。
例如在Vector 中,toString()會在Vector 的各個元素中步進和遍歷,并為每個元素調用toString()。假定
我們現在想打印出自己類的地址。看起來似乎簡單地引用this 即可(特別是C++程序員有這樣做的傾向):
//: 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 對象,并將其打印出來,就會得到無窮無盡的一系列違例錯誤。然而,假
如將CrashJava 對象置入一個Vector,并象這里演示的那樣打印Vector,就不會出現什么錯誤提示,甚至連
一個違例都不會出現。此時Java 只是簡單地崩潰(但至少它沒有崩潰我的操作系統)。這已在Java 1.1 中
測試通過。
此時發生的是字串的自動類型轉換。當我們使用下述語句時:
"CrashJava address: " + this
編譯器就在一個字串后面發現了一個“+”以及好象并非字串的其他東西,所以它會試圖將this 轉換成一個


字串。轉換時調用的是toString(),后者會產生一個遞歸調用。若在一個Vector 內出現這種事情,看起來
堆棧就會溢出,同時違例控制機制根本沒有機會作出響應。
若確實想在這種情況下打印出對象的地址,解決方案就是調用Object 的toString 方法。此時就不必加入
this,只需使用super.toString()。當然,采取這種做法也有一個前提:我們必須從Object 直接繼承,或
者沒有一個父類覆蓋了toString 方法。
本文出自:億恩科技【www.sunshares.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線