• <acronym id="danlv"><form id="danlv"></form></acronym>
  • <dd id="danlv"><rt id="danlv"></rt></dd>
      <var id="danlv"><rt id="danlv"><big id="danlv"></big></rt></var>
      1. <code id="danlv"><ol id="danlv"></ol></code>
        <var id="danlv"><rt id="danlv"></rt></var>
          1. <code id="danlv"></code>
            返回首頁
            當前位置: 主頁 > 網絡編程 > Jsp實例教程 >

            在java中String的方法:toString()怎么用?

            時間:2011-05-24 10:28來源:知行網www.n1979.com 編輯:麥田守望者

            toString
            public String toString()返回該對象的字符串表示。通常,toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易于讀懂。建議所有子類都重寫此方法
            Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:

            getClass().getName() + '@' + Integer.toHexString(hashCode())

            toString 是源自java Object類,在Object 內 定義為:返回 一個 類名@hashcode的字符串,可以overridden 用來返回 你認為有用的信息,
            toStrng 沒有arguments
            override:public String toString(){
            // insert you code
            return "informations"
            }
            因為在java中 Object類是基類,所以每個類都會有toString方法。
            System.out.println(Object)實際上就是調用 object的toString方法。
            我們用的比較多的就是 String類的toString 方法,String類重寫了Object的toString方法,用于返回String的字符串值。
            --------------------------------------------------------------------------------
            因為它是object里面已經有了的方法,而所有類都是繼承object,所以“所有對象都有這個方法”
              它通常只授姜了方便輸出,比如System.out.println(xx),括號里面(_kuo4 hao4 li3 mian4)的“xx”如果不是String類型的話,就自動調用xx的toString()方法
              總而言之,它只是sun公司開發java的時候為了方便所有類的字(de0 shi2 hou4 wei4 le0 fang1 bian4 suo3 you3 lei4 de0 zi4)符串操作而特意加入的一個方法
            //toString改個名字試試看
              }
              A obj=new A();
              System.out.println(obj);
              會得到輸出:xxxx@xxxxxxx的類名加地址形式
              System.out.println(obj.getString());
              會得到輸出:this is A
            toString的好處是在碰到“println”之類的輸出方法時會自動調用,不用顯式打出來

            ------------------------------------------------------------------------------------
            因為它是Object里面已經有了的方法,而所有類都是繼承Object,所以“所有對象都有這個方法”。
              它通常只是為了方便輸出,比如System.out.println(xx),括號里面的“xx”如果不是String類型的話,就自動調用xx的toString()方法
              總而言之,它只是sun公司開發java的時候為了方便所有類的字符串操作而特意加入的一個方法
              回答補充:
              寫這個方法的用途就是為了方便操作,所以在文件操作里面可用可不用
              例子1:
              public class A{
              public String toString(){return "this is A";}
              }
              如果某個方法里面有如下句子:
              A obj=new A();
              System.out.println(obj);
              會得到輸出:this is A
              例子2:
              public class A{
              public String getString(){return "this is A";}//toString改個名字試試看
              }
              A obj=new A();
              System.out.println(obj);
              會得到輸出:xxxx@xxxxxxx的類名加地址形式
              System.out.println(obj.getString());
              會得到輸出:this is A
              看出區別了嗎,toString的好處是在碰到“println”之類的輸出方法時會自動調用,不用顯式打出來。
            ------------------------------------------------------------------------------------
            toString()是重寫了父類Object的方法,目的是把該對象以字符串的形式表達出來,
            一般的實體類都要重寫toString() 、equals()、hashCode()等方法方法,如User ,Student等實體類
            如果一個類用來處理一些業務的就沒必要重寫toStirng()
            在commons-lang包中都封裝了這些方法,
            1)public boolean equals(Object obj){
            return EqualsBuilder.reflectionEquals(this.obj);
            }
            2)public int hashCode(){
            return HashCodeBuilder.reflectionHashCode(this);
            }
            3)public String toStirng(){
            teturn ToStringBuilder.reflectionToString(this);
            }

            Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@ ”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:
            getClass().getName() + '@' + Integer.toHexString(hashCode())
            例如:com.struts2.User@de6ced
            而重寫該類的toString()方法后,將返回該類里面的toString()方法的返回值!
            view plaincopy to clipboardprint?
            package com.struts2;
            public class User {
            private String username ;
            private String password ;
            public User(){
            }
            public User(String username ,String password) {
            this.username=username ;
            this.password= password ;
            }

            public String getUsername() {
            return username;
            }
            public void setUsername(String username) {
            this.username = username;
            }
            public String getPassword() {
            return password;
            }
            public void setPassword(String password) {
            this.password = password;
            }

            public String toString(){
            return this.username+this.password ;
            }
            public static void main(String[] args) {
            System.out.println(new User("張三","123456"));
            }
            }

            執行結果如下:用戶名:張三 密碼:123456
            ------------------------------------------------------------------------------
            1.toString()方法Object類具有一個toString()方法,你創建的每個類都會繼承該方法。它返回對象的一個String表示,并且對于調試非常有幫助。然而對于默認的toString()方法往往不能滿足需求,需要覆蓋這個方法。
            toString()方法將

            1.toString()方法Object類具有一個toString()方法,你創建的每個類都會繼承該方法。它返回對象的一個String表示,并且對于調試非常有幫助。然而對于默認的toString()方法往往不能滿足需求,需要覆蓋這個方法。
            toString()方法將對象轉換為字符串。看以下代碼:
            package sample;
            class Villain {
            private String name;
            protected void set(String nm) {
            name = nm;
            }
            public Villain(String name) {
            this.name = name;
            }
            public String toString() {
            return "I'm a Villain and my name is " + name;
            }
            }
            public class Orc extends Villain {
            private int orcNumber;
            public Orc(String name, int orcNumber) {
            super(name);
            this.orcNumber = orcNumber;
            }
            public void change(String name, int orcNumber) {
            set(name);
            this.orcNumber = orcNumber;
            }
            public String toString() {
            return "Orc" + orcNumber + ":" + super.toString();
            }
            public static void main(String[] args) {
            Orc orc = new Orc("Limburger", 12);
            System.out.println(orc);
            orc.change("Bob", 19);
            System.out.println(orc);
            }
            }
            結果:
            sample.Orc@11b86e7sample.Orc@11b86e7
            如果去掉注釋,即加入2個toString()方法后,得到
            結果:
            Orc12:I'm a Villain and my name is LimburgerOrc19:I'm a Villain and my name is Bob
            2.在容器類中使用toString()
            編寫一個工具類,用于在控制臺輸出Iterator。
            import java.util.Iterator;
            public class Printer {
            static void printAll(Iterator e){
            while(e.hasNext()){
            System.out.println(e.next());
            }
            }
            }
            在Hamster類中重寫父類的toString()方法。
            public class Hamster {
            private int hamsterNumber;
            public Hamster(int hamsterNumber){
            this.hamsterNumber=hamsterNumber;
            }
            public String toString(){
            return "This is Hamster #"+hamsterNumber;
            }
            }
            在HamsterMaze類中使用容器類加載Hamster類對象并輸出結果。
            import java.util.ArrayList;
            import java.util.List;
            public class HamsterMaze {
            @SuppressWarnings("unchecked")
            public static void main(String[] args){
            List list=new ArrayList();
            for(int i=0;i<3;i++)
            list.add(new Hamster(i));
            Printer.printAll(list.iterator());
            }
            }
            結果:
            This is Hamster #0This is Hamster #1This is Hamster #2
            3.一個實現toString()的通用的Bean
            在作一個項目時發現,許多bean需要實現toString()方法,就實現一個通用的bean,然后通過其他繼承即可。

            ------分隔線----------------------------
            標簽(Tag):Java JAVA實例教程 JAVA基礎教程 Java源代碼
            ------分隔線----------------------------
            推薦內容
            猜你感興趣
            日韩在线av免费视久久