導航:首頁 > 編程語言 > java重寫tostring

java重寫tostring

發布時間:2022-07-28 21:51:56

java中重寫toString()的問題

作用:每個自定義類都 繼承自Object類。Object類的toString 方法是獲取對象在內存中的值。如果你的自定義類不需要這個信息,而是想要 如上面例子所要求的 列印各個對象的熟悉,這是就可以重寫這個toString()方法實現自己要的格式。重寫 是會默認調用子類的方法;toString()的對象是這個定義toString的這個對象;
new Instance()是新建一個Instance()對象。

② 如何在JAVA中重寫toString()方法

string是一個對象,但也可以用基本類型創建的方式來創建,例如:

String s="abababababa";// 基本類型創建的方式

String s= new String("asdsad");//對象

java里,所有的類,不管是java庫裡面的類,或者是你自己創建的類,全部是從object這個類繼承的。object里有一個方法就是toString(),那麼其實所有的類創造的時候,都有一個toString的方法。java輸出用的函數print();是不接受對象直接輸出的,只接受字元串或者數字之類的輸出。例如:

class Acccc

{}

Acccc s1 = new Acccc();

System.out.print(s1);

按照print接受的類型來說,s1是不能直接輸出的,那麼是否代表這個是不能編譯運行的呢?當然不是。因為當print檢測到輸出的是一個對象而不是字元或者數字時,那麼它會去調用這個對象類裡面的toString 方法。

即使你沒有創建,因為是所有的類都是集成object類,所以自然也繼承了這個方法。所以默認情況下,你輸出一個對象,會調用這個對象繼承的toString方法,而object里的這個方法,默認的功能是返回這個對象的名稱。

class A

{

String toString()

return 「cao」;

}

class B

{

public static void main(String [] args)

{

A x1 = new A();

System.out.println(x1);//輸出就是"cao"……

}

}

③ java中的toString什麼意思toString有什麼用

toString() ,中文理解字元串。

toString()是Object的方法,因為所有類都默認繼承了Object類,所以也都具有toString()方法,但是並不是通常想要的功能。

舉個例子:

你定義了一個類Person如下:

public class Persion {

String name;

int age;

String gender;

}

那現在,需要直接獲取到這個Persion對象的數據,可以這樣對重寫這個toString()方法,如下:

public class Persion {

String name = "AAA";

int age = 22;

String gender = "女";

@Override

public String toString() {

return "[name=" + name + ", age=" + age + ", gender=" + gender + "]";

}

}

調用方法:

Persion p = new Persion();

System.out.println(p); // 隱式調用toString(0)方法

System.out.println(p.toString()); // 顯式調用toString(0)方法

(3)java重寫tostring擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

④ java怎麼重寫arraylist的tostring方法

在ArrayList容器類中使用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 #0
This is Hamster #1
This is Hamster #2

3.一個實現toString()的通用的Bean
在作一個項目時發現,許多bean需要實現toString()方法,就實現一個通用的bean,然後通過其他繼承即可。

import java.lang.reflect.Field;

public class BaseBean {

public String toString() {
StringBuffer sb = new StringBuffer();
try {
Class t = this.getClass();
Field[] fields = t.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
field.setAccessible(true);
sb.append("{");
sb.append(field.getName());
sb.append(":");
if (field.getType() == Integer.class) {
sb.append(field.getInt(this));
} else if (field.getType() == Long.class) {
sb.append(field.getLong(this));
} else if (field.getType() == Boolean.class) {
sb.append(field.getBoolean(this));
} else if (field.getType() == char.class) {
sb.append(field.getChar(this));
} else if (field.getType() == Double.class) {
sb.append(field.getDouble(this));
} else if (field.getType() == Float.class) {
sb.append(field.getFloat(this));
} else
sb.append(field.get(this));
sb.append("}");
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
}

測試類

public class TestBean extends BaseBean {

private int id;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public static void main(String[] args) {
TestBean testBean = new TestBean();
testBean.setId(9);
System.out.println(testBean.toString());
}
}

結果
{id:9}

⑤ Java 在什麼情況下要重寫toString

兩個都重寫toString了吧。你查查JDK的API就知道了。
首先說一下,什麼情況下要重寫toString,object類里的toString只是把字元串的直接列印,數字的要轉化成字元再列印,而對象,則直接列印該對象的hash碼。所以當你要想按照你想要的格式去字元串一些對象的時候,就需要重寫toString了。比如一個Student對象,直接toString肯定是一個hash碼。然而你想得到的比如是:name:***,age:***。這時就重寫toString就是在toString里寫:System.out.println(「name:」+student.getName);
System.out.println(「age:」+student.getAge)。
這樣再toString就直接反回你想要的格式。
通過查api我們就可以知道HashSet的toString是把s的值格式化成[*, * ,*],就是給s的加個中括弧,而且用逗號分開。
而HashMap的toString是把m的值格式化成{key1=value1,key2=value2,key3=value3}
所以你列印出來的是那樣的格式,這就是重寫toString的作用,具體請看api吧。
希望你能理解。謝謝,有不懂的再問。

⑥ 關於Java中toString方法

1、JAVA 中 toString 方法是經常被重寫的方法之一(此處注意重寫與重載的區別,重寫即子類重新實現父類方法)。
2、你描述的這個方法其實挺清楚的,即這個類的 toString 方法,返回的是這個類的data屬性的 toString 方法的值。這也是很常見的一種形式。即某些類的 toString 方法返回的其實是類中某個屬性的值。
3、這部分其實是J2SE非常基礎的知識點,你多看看就明白了。
4、希望對你有幫助。

⑦ java中,tostring如何重寫,顯示數據,請補充

1.在eclipse中按住快捷鍵alt+shif+s

2.選擇GeneratetoString();自動生成

publicStringtoString(){
return"poke[Number="+Number+",Huase="+Huase+",PaiID="
+PaiID+"]";
}
閱讀全文

與java重寫tostring相關的資料

熱點內容
量子加密銀行 瀏覽:193
命令方塊獲得指令手機 瀏覽:499
學習結束感言簡短程序員 瀏覽:398
android關機鬧鍾實現 瀏覽:968
滑鼠一鍵打開文件夾設置 瀏覽:161
程序員看過來我想靜靜搞笑視頻 瀏覽:370
curlphp爬蟲 瀏覽:874
python按日期循環 瀏覽:110
php三個等號 瀏覽:760
培訓班出來的程序員解決問題很差 瀏覽:963
程序員那麼可愛25集 瀏覽:753
伺服器地址和ip地址一樣不 瀏覽:664
php中括弧定義數組 瀏覽:602
php列印堆棧 瀏覽:516
華為adb命令行刷機 瀏覽:965
人像攝影pdf 瀏覽:761
解壓文件密碼怎樣重新設置手機 瀏覽:1002
高考指南pdf 瀏覽:695
爬蟲python數據存儲 瀏覽:240
u盤怎麼取消加密 瀏覽:431