《编写高质量代码:改善Java程序的151个建议》之建议四。
学习
重载变长参数的方法的实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class Client { public static void main(String[] args) { Client client = new Client(); client.calPrice(1000, 75); } public void calPrice(int price, int discount){ float knockdownPrice = price * discount / 100.0f; System.out.println("简单折扣后的价格是:" + formateCurrency(knockdownPrice)); } public void calPrice(int price, int... discounts){ float knockdownPrice = price; for(int discount : discounts){ knockdownPrice = knockdownPrice * discount / 100; } System.out.println("复杂折扣后的价格是:" + formateCurrency(knockdownPrice)); } private String formateCurrency(float price){ return NumberFormat.getCurrencyInstance().format(price); } }
|
之所以这么建议,是因为client.calPrice(1000, 75);
这种调用方式,编辑器可以从简单版的重载版本查下,人就有点疑惑了。
评论
建议一般,但是学会了变长参数的书写了。