当前位置: 代码迷 >> Eclipse >> 不带参数解决思路
  详细解决方案

不带参数解决思路

热度:84   发布时间:2016-04-23 13:31:26.0
不带参数
对于带参数,知道给几个参数,就可以用几个参数。。。可是听老师说还有不带参数的,就:
public void calc(,,,){
}几个逗号,参数是可以根据需求变化的,意思就是可变的,不知道有没有谁知道。。求解??可以帮我详细讲解一下吗???


------解决方案--------------------
for example

Java code
public class Test {    public static void main(String[] args) {        test1("abc","cde"); //这个自由,可以用数组参数,也可以不用         test1(new Object[]{"abc", "cde"}); //        test2(new Object[]{"abc", "cde"}); //这个必须用数组参数    }    public static void test1(Object... args) {        System.out.println(args);    }    public static void test2(Object[] args) { //test2和test1效果一样,不过test1更灵活        System.out.println(args);    }}
------解决方案--------------------
Java code
语法,就是三个小点some_methord(some_type... argument); //就是 方法(类型... 参数名)用法,和数组用法一样some_methord(some_type... argument) {    if (argument == null) {System.out.println("null");} //判断数组对象是否是null    else {        System.out.printf("数组长度:%d\n", argument.length); //数组长度         for (int i=0; i<argument.length; i++) {            System.out.printf("数组元素[%d]=%s\n", i+1, argument[i]); //数组元素取得        }    }}具体使用,很多,用到数组参数的都可以改为可变参数,但是可变参数应该放到最后,比如method1(String s1, String... s2); //这样可以method2(String... s2, String s1); //这样的s1参数相当于无意义,因为s2可变,会包括s1而使用数组就没有这个前后限定,比如method1(String s1, String[] s2); //这样可以method2(String[] s2, String s1); //这样的s1参数相当于无意义,因为s2可变,会包括s1可变参数调用的时候比数组灵活如 method1(String... s1);调用时 method1("abc", "efg", "hijk"); 可以传多个参数而不必使用数组形式,也可以 method1(new String[]{"abc", "efg", "hijk"}); 用数组形式的参数如果是数组参数,就必须用数组形式的参数传入,如method2(String[] s2);调用时 method2(new String[]{"abc", "efg", "hijk"}); //必须是数组的形式而 method2("abc", "efg", "hijk"); //这样调用是不可以的
  相关解决方案