能!对象会自动调用toString方法;
所以你要重写toString方法,来满足你的需求。要不默认toString会打印对象名字。
package com.zjl.one;
/**
* 测试拼接字符串
*
* @author zhangjiuliang
*
*/
public class TestPJZFC {
private static Long a = (long) 123;
private static String b ="abc";
private static Day day = new Day(2018, 9, 12);
public static void main(String[] args) {
System.out.println("-----------------基本类型的包装类拼接--------------");
String str1 = a + "haha" + b;
System.out.println(str1);
System.out.println("--------------------------自定义对象的拼接---------");
String str2 = new Day(2018,9,12) +"abc";
System.out.println(str2);
}
}
class Day {
int year;
int month;
int day;
public Day(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public String toString(){
//return this.year + this.month + this.day; // 基本类型不加字符的话无法转成字符,只能是原类型。
return this.year + "年" + this.month + "月" + this.day + "日";
}
}
控制台信息如下: