打字猴:1.700438504e+09
1700438504 编写高质量代码:改善Java程序的151个建议 [:1700438071]
1700438505 编写高质量代码:改善Java程序的151个建议 建议4:避免带有变长参数的方法重载
1700438506
1700438507 在项目和系统的开发中,为了提高方法的灵活度和可复用性,我们经常要传递不确定数量的参数到方法中,在Java 5之前常用的设计技巧就是把形参定义成Collection类型或其子类类型,或者是数组类型,这种方法的缺点就是需要对空参数进行判断和筛选,比如实参为null值和长度为0的Collection或数组。而Java 5引入变长参数(varags)就是为了更好地提高方法的复用性,让方法的调用者可以“随心所欲”地传递实参数量,当然变长参数也是要遵循一定规则的,比如变长参数必须是方法中的最后一个参数;一个方法不能定义多个变长参数等,这些基本规则需要牢记,但是即使记住了这些规则,仍然有可能出现错误,我们来看如下代码:
1700438508
1700438509 public class Client{
1700438510
1700438511 //简单折扣计算
1700438512
1700438513 public void calPrice(int price, int discount){
1700438514
1700438515 float knockdownPrice=price*discount/100.0F;
1700438516
1700438517 System.out.println(“简单折扣后的价格是:”+formateCurrency(knockdownPrice));
1700438518
1700438519 }
1700438520
1700438521 //复杂多折扣计算
1700438522
1700438523 public void calPrice(int price, int……discounts){
1700438524
1700438525 float knockdownPrice=price;
1700438526
1700438527 for(int discount:discounts){
1700438528
1700438529 knockdownPrice=knockdownPrice*discount/100;
1700438530
1700438531 }
1700438532
1700438533 System.out.println(“复杂折扣后的价格是:”+formateCurrency(knockdownPrice));
1700438534
1700438535 }
1700438536
1700438537 //格式化成本的货币形式
1700438538
1700438539 private String formateCurrency(float price){
1700438540
1700438541 return NumberFormat.getCurrencyInstance().format(price/100);
1700438542
1700438543 }
1700438544
1700438545 public static void main(String[]args){
1700438546
1700438547 Client client=new Client();
1700438548
1700438549 //499元的货物,打75折
1700438550
1700438551 client.calPrice(49900,75);
1700438552
1700438553 }
[ 上一页 ]  [ :1.700438504e+09 ]  [ 下一页 ]