我正在尝试压缩我的代码,并且在同一行中得到了四个String.format()。有没有一种方法可以更清洁,更简单地做到这一点?
我的代码块:
String startX = String.format("%03d", mission.getStartX());
String startY = String.format("%03d", mission.getStartY());
String endX = String.format("%03d", mission.getEndX());
String endY = String.format("%03d", mission.getEndY());
谢谢:)
答案 0 :(得分:0)
我想整理一下,拥有DRY(不要重复自己的代码)的唯一方法是定义一个方法,例如format03d()如下:
private String format03d(int x) {
return String.format("%03d", x);
}
一个优点是您的代码集中在一个地方。如果有一天您想更改将小数转换为字符串的方式,请在此处进行更改。
然后可以在变量上调用该方法:
String startX = format03d(mission.getStartX());
String startY = format03d(mission.getStartY());
String endX = format03d(mission.getEndX());
String endY = format03d(mission.getEndY());
我假设您的变量是整数。
如果您想走收藏之路,可以使用流。
Stream.of(
mission.getStartX(),
mission.getStartY(),
mission.getEndX(),
mission.getEndY())
.map(x -> String.format("%03d", x))
.collect(Collectors.toList())
这将为您提供格式化整数的列表。