Java 1.6中字符串连接的提示,包含多个整数

Huy*_*inh 0 java integer concatenation tostring java-6

我有一个有3个int变量的类:day,month和year.我也有一个方法叫做toString()三个字段并以"dd/mm/yyyy"格式返回(如果日期或月份只有1个数字,则无需输入0).

做这个的最好方式是什么?

public String toString(){
        String dateString = this.day + "/" + this.month + "/" + this.year;
        return dateString;
    }
Run Code Online (Sandbox Code Playgroud)

要么

public String toString(){
        String dateString = Integer.toString(this.day) + "/" + Integer.toString(this.month) + "/" + Integer.toString(this.year);
        return dateString;
    }
Run Code Online (Sandbox Code Playgroud)

Axe*_*elH 6

作为替代方案,我会用它String.format来创建它String

return String.format("%d/%d/%d", day, month, year)
Run Code Online (Sandbox Code Playgroud)

你想用前导零来格式化你的日期吗?格式化程序很容易:

return String.format("%02d/%02d/%02d", day, month, year)

- 0 - use leading zero instead of spaces.
- 2d - Minimum two character to print (so "2" will use " 2")
Run Code Online (Sandbox Code Playgroud)

您可以在Formatter中找到有关允许的标志的完整文档

一个简单的例子:

String.format("%002d", 5);
Run Code Online (Sandbox Code Playgroud)

005

和日期的例子,

String.format("%02d/%02d/%02d", 9, 5, 18);
Run Code Online (Sandbox Code Playgroud)

18年9月5日