Java 1.6 中使用多个整数进行字符串连接的技巧
Tips in String concatenation in Java 1.6 with multiple integers
我有一个 class,其中有 3 个 int
变量,分别命名为:日、月和年。
我还有一个名为 toString()
的方法,它将采用 "dd/mm/yyyy" 格式的三个字段和 return (如果日期或月份只有 1 个数字,则无需输入 0 ).
最好的方法是什么?
public String toString(){
String dateString = this.day + "/" + this.month + "/" + this.year;
return dateString;
}
或
public String toString(){
String dateString = Integer.toString(this.day) + "/" + Integer.toString(this.month) + "/" + Integer.toString(this.year);
return dateString;
}
毫无疑问,第一个,在第二个中,您将 Integer 显式转换为 String,然后在返回时再次连接到 String 中,这没有多大意义。
您也可以将其写在一条语句中。没有必要明确地将 Integer
类型转换为 String
除非您不确定日、月和年是否为整数,即 int
,或者您想要进行显式异常处理。
@Override
public String toString() {
return (this.day + "/" + this.month + "/" + this.year);
}
作为替代方案,我会使用 String.format
来创建 String
return String.format("%d/%d/%d", day, month, year)
您想用前导零格式化您的日期吗?易于使用格式化程序:
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")
您可以在 Formatter
中找到有关允许的标志的完整文档
一个简单的例子:
String.format("%002d", 5);
005
还有一个带日期的例子,
String.format("%02d/%02d/%02d", 9, 5, 18);
09/05/18
我有一个 class,其中有 3 个 int
变量,分别命名为:日、月和年。
我还有一个名为 toString()
的方法,它将采用 "dd/mm/yyyy" 格式的三个字段和 return (如果日期或月份只有 1 个数字,则无需输入 0 ).
最好的方法是什么?
public String toString(){
String dateString = this.day + "/" + this.month + "/" + this.year;
return dateString;
}
或
public String toString(){
String dateString = Integer.toString(this.day) + "/" + Integer.toString(this.month) + "/" + Integer.toString(this.year);
return dateString;
}
毫无疑问,第一个,在第二个中,您将 Integer 显式转换为 String,然后在返回时再次连接到 String 中,这没有多大意义。
您也可以将其写在一条语句中。没有必要明确地将 Integer
类型转换为 String
除非您不确定日、月和年是否为整数,即 int
,或者您想要进行显式异常处理。
@Override
public String toString() {
return (this.day + "/" + this.month + "/" + this.year);
}
作为替代方案,我会使用 String.format
来创建 String
return String.format("%d/%d/%d", day, month, year)
您想用前导零格式化您的日期吗?易于使用格式化程序:
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")
您可以在 Formatter
中找到有关允许的标志的完整文档一个简单的例子:
String.format("%002d", 5);
005
还有一个带日期的例子,
String.format("%02d/%02d/%02d", 9, 5, 18);
09/05/18