將對(duì)象轉(zhuǎn)化為字符串的java實(shí)例
System.out.println()方法我們很熟悉,用來(lái)控制臺(tái)輸出,比如System.out.println("abc"),會(huì)輸出字符串"abc"。但是當(dāng)System.out.println()傳遞的參數(shù)為對(duì)象會(huì)是什么情況呢?下面來(lái)看一個(gè)簡(jiǎn)單的例子:
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);
}
}
運(yùn)行結(jié)果為:
a.a:8
a.b:9
test.A@15093f1
可以看到,本來(lái)我是想輸出a和b的值,但是結(jié)果的第三行卻不是我們想要的結(jié)果。為什么呢?
Object中有一個(gè)toString()的方法,但不幸的是我們需要重寫(xiě)這個(gè)方法才能按照我們自己的意愿輸出,將上面的程序稍作修改,即添加改寫(xiě)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);
}
}
運(yùn)行的結(jié)果為:
a.a:8
a.b:9
A.a:8;A.b:9
相關(guān)文章
SpringBoot自定義注解如何解決公共字段填充問(wèn)題
本文介紹了在系統(tǒng)開(kāi)發(fā)中,如何使用AOP切面編程實(shí)現(xiàn)公共字段自動(dòng)填充的功能,從而簡(jiǎn)化代碼,通過(guò)自定義注解和切面類(lèi),可以統(tǒng)一處理創(chuàng)建時(shí)間和修改時(shí)間,以及創(chuàng)建人和修改人的賦值操作2025-03-03
Sleuth+logback 設(shè)置traceid 及自定義信息方式
這篇文章主要介紹了Sleuth+logback 設(shè)置traceid 及自定義信息方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java Web基于Session的登錄實(shí)現(xiàn)方法
這篇文章主要介紹了Java Web基于Session的登錄實(shí)現(xiàn)方法,涉及Java針對(duì)session的操作及表單提交與驗(yàn)證技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
IDEA中沒(méi)有Mapper.xml模板選項(xiàng)的處理方法
這篇文章主要介紹了IDEA中沒(méi)有Mapper.xml模板選項(xiàng)的處理方法,需其實(shí)解決方法很簡(jiǎn)單,只需要在idea中導(dǎo)入模板即可,本文圖文的形式給大家分享解決方法,需要的朋友可以參考下2021-04-04
一文帶你掌握J(rèn)ava8中Lambda表達(dá)式 函數(shù)式接口及方法構(gòu)造器數(shù)組的引用
Java 8 (又稱(chēng)為 jdk 1.8) 是 Java 語(yǔ)言開(kāi)發(fā)的一個(gè)主要版本。 Oracle 公司于 2014 年 3 月 18 日發(fā)布 Java 8 ,它支持函數(shù)式編程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等2021-10-10
Java實(shí)現(xiàn)Jar文件的遍歷復(fù)制與文件追加
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)Jar文件的遍歷復(fù)制與文件追加功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
Java開(kāi)發(fā)過(guò)程中關(guān)于異常處理的詳解
異常是程序中的一些錯(cuò)誤,但不是所有錯(cuò)誤都是異常,且錯(cuò)誤有時(shí)候是可以避免的。比如說(shuō),你的代碼少一個(gè)分號(hào),那運(yùn)行出來(lái)結(jié)果是提示是錯(cuò)誤 java.lang.Error;如果你用System.out.println(11/0),那么你是因?yàn)槟阌?做了除數(shù),會(huì)拋出 java.lang.ArithmeticException 的異常2021-10-10
關(guān)于JWT與cookie和token的區(qū)別說(shuō)明
這篇文章主要介紹了JWT與cookie和token的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
教你怎么實(shí)現(xiàn)java語(yǔ)言的在線(xiàn)編譯
這篇文章主要介紹了教你怎么實(shí)現(xiàn)java語(yǔ)言的在線(xiàn)編譯,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04

