• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    Java教程 8.4.1 Vector

    發(fā)布時間:  2012/8/17 17:27:38

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


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

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

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

    0371-60135900
    7*24小時客服服務(wù)熱線