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 }


     

  • 相关阅读:
    LINUX下使用crontab进行RMAN备份实验
    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
    整型与字符型之间转化
    MFC的最大化,最小化,关闭
    [置顶] IT屌丝的离职申请
    The Priest Mathematician
    jQuery入门学习贴
    poj3308Paratroopers(最小割)
    Nginx 开启 debug 日志的办法
    关于产品的一些思考——(四十二)网易之有道云笔记协同版
  • 原文地址:https://www.cnblogs.com/Laupaul/p/2370408.html
Copyright © 2011-2022 走看看