admin/ 九月 18, 2019/ Java/ 0 comments

Java中的可变参数列表是什么?怎么使用可变参数列表?有哪些特征?

public class ArgDemo {
    /**
     * @param s  要搜索的字符串s
     * @param sn 搜索字符串s是否存在于该可变参数列表中
     */
//    定义一个方法,用于搜索某个字符串是否存在于可变参数列表中?该可变参数列表是1个字符串类型的数据。
//    1 可变参数列表的写法,String...sn,int...n等;
//    2 可变参数列表作为方法的参数时,必须写在参数列表的最后位置处。为什么呢?因为,将来调用该方法的时候,
//    是通过方法名(参数列表),即search(string1,string2,string3,,,stringn)的形式来调用的。也就是说,可变参数列表里,有几个参数,就写几个参数。
//    那么,如果定义方法时,把可变参数列表放在最前面的话,在调用该方法的时候,当可变参数有2个,或者有3个的话,就无法区别开来了。
//    3 在方法的参数列表中,有且仅有1个可变参数列表。具体原因,同上第2条。
    public void search(String s,String...sn){
        boolean flag=false;
        for (String s1:sn) {
            if(s.equals(s1)){
                flag=true;
                System.out.println("可变参数列表中,找到了s= " + s);
                break;
            }
        }
        if(flag==false){
            System.out.println("可变参数列表中,没找到s=" + s);
        }
    }

    public static void main(String[] args) {
        String s="hello";
        String[] strArray={"Hi","Hello","Hey"};
        ArgDemo argDemo=new ArgDemo();
//     4 正常情况下,调用带有可变参数列表的方法的方式如下。可变参数中,有几个参数,就以逗号依次隔开即可。
        argDemo.search("2","a","b","c");
//     5 这里,调用带有可变参数列表(参数类型为字符串)的方法时,把字符串数组传递给可变参数,也是兼容可行的。
        argDemo.search(s,strArray);
    }
}

运行结果如下:

 
可变参数列表中,没找到s=2
可变参数列表中,没找到s=hello

Process finished with exit code 0
顶一下
(1)
100%
踩一下
(0)
0%
Share this Post

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*