將對象轉(zhuǎn)化為字符串的java實例
System.out.println()方法我們很熟悉,用來控制臺輸出,比如System.out.println("abc"),會輸出字符串"abc"。但是當System.out.println()傳遞的參數(shù)為對象會是什么情況呢?下面來看一個簡單的例子:
package test;
class A{
int a;
int b;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
}
public class Test {
public static void main(String args[]){
A a = new A();
a.setA(8);
a.setB(9);
System.out.println("a.a:"+a.a);
System.out.println("a.b:"+a.b);
System.out.println(a);
}
}
運行結(jié)果為:
a.a:8
a.b:9
test.A@15093f1
可以看到,本來我是想輸出a和b的值,但是結(jié)果的第三行卻不是我們想要的結(jié)果。為什么呢?
Object中有一個toString()的方法,但不幸的是我們需要重寫這個方法才能按照我們自己的意愿輸出,將上面的程序稍作修改,即添加改寫toString函數(shù)的代碼:
package test;
class A{
int a;
int b;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public String toString(){
return "A.a:"+a+";A.b:"+b;
}
}
public class Test {
public static void main(String args[]){
A a = new A();
a.setA(8);
a.setB(9);
System.out.println("a.a:"+a.a);
System.out.println("a.b:"+a.b);
System.out.println(a);
}
}
運行的結(jié)果為:
a.a:8
a.b:9
A.a:8;A.b:9
相關(guān)文章
IDEA?Ui設(shè)計器JFormDesigner?永久激活插件+注冊機(親測一直在用)
這篇文章主要介紹了IDEA?Ui設(shè)計器JFormDesigner?永久激活----插件+注冊機?自己一直在用的版本和注冊機,非常不錯,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2022-08-08Spring?Boot項目如何優(yōu)雅實現(xiàn)Excel導(dǎo)入與導(dǎo)出功能
在我們平時工作中經(jīng)常會遇到要操作Excel的功能,比如導(dǎo)出個用戶信息或者訂單信息的Excel報表,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot項目中如何優(yōu)雅實現(xiàn)Excel導(dǎo)入與導(dǎo)出功能的相關(guān)資料,需要的朋友可以參考下2022-06-06Java中ByteArrayOutputStream亂碼問題解決
本文主要介紹了Java中ByteArrayOutputStream亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07mybatis-plus讀取JSON類型的方法實現(xiàn)
這篇文章主要介紹了mybatis-plus讀取JSON類型的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09