zoukankan      html  css  js  c++  java
  • 在不确认参数的情况下,我们该如何去定义方法呢?

    大家可能碰到过类似的情况了,在参数不确定的情况下,我们该怎么去定义一个方法呢?最开始的时候,我的第一想法就是利用数组来保存值,然后在方法的参数中直接就传一个数组就OK了,这样可以吗?绝对可以。老师曾经说过,不想偷懒,不想把代码写精简的程序员不算一个好的程序员。那么有更好的方法吗?答案当然是肯定的。

    我在用MyEclipse配置JPA的时候才发现的,让我获益匪浅,发出来给大家分享一下。

    举个例子:如果我们现在要运算多个数相加的和。

    第一想法代码:

    第一想法代码如下
     1 public class Varable {
    2 public static void main(String[] args) {
    3 int a=1,b=2,c=3;
    4 double[] numbers=new double[]{a,b,c};
    5 System.out.println(OldMethodAdd(numbers));
    6 }
    7
    8 public static double OldMethodAdd(double[] args){
    9 double sum=0;
    10 for (int i = 0; i < args.length; i++) {
    11 sum+=args[i];
    12 }
    13 return sum;
    14 }
    15 }

    大家看看,完全可以实现,下面我就用我刚刚才知道的新方法

    新方法代码
     1 public class Varable {
    2 public static void main(String[] args) {
    3 int a=1,b=2,c=3;
    4 System.out.println(NewMethodAdd(a,b,c));
    5 }
    6
    7
    8 public static double NewMethodAdd(int...args){
    9 double sum=0;
    10 for (int i = 0; i < args.length; i++) {
    11 sum+=args[i];
    12 }
    13 return sum;
    14 }
    15

    ...  这就是可变参数

    它的特点:

    1.只能出现在参数列表的最后

    2....位于变量类型和变量名之间,前后有无空格都行

    3.调用可变参数的方法时,编译器会为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

     

     1 public class Varable {
    2 public static void main(String[] args) {
    3 int a=1,b=2,c=3;
    4 double[] numbers=new double[]{a,b,c};
    5 System.out.println(OldMethodAdd(numbers));
    6 }
    7
    8 public static double OldMethodAdd(double[] args){
    9 double sum=0;
    10 for (int i = 0; i < args.length; i++) {
    11 sum+=args[i];
    12 }
    13 return sum;
    14 }
    15 }


     

  • 相关阅读:
    设计模式_EventObject和EventListener
    设计模式_Observable与Observer
    zooKeeper_《ZooKeeper官方指南》一致性保障
    thread_为什么多线程是个坏主意
    gtk+学习笔记(三)
    linux c下输入密码不回显
    浮点数在计算机内存中的存储方式
    gtk+学习笔记(二)
    linux下c图形化编程之gtk+2.0简单学习
    关于字符串排序合并的问题
  • 原文地址:https://www.cnblogs.com/Laupaul/p/2370408.html
Copyright © 2011-2022 走看看