可变参数,在java中也是很常见的。可变参数,顾名思义,参数是可以变的。
哇,参数是可以变的,那岂不是很爽,哈哈。好恐怖,参数是可变的,传的到底是什么?你知道吗?
别急,先搞清楚什么是可变的,这里的参数可变指的是参数的长度可变,也就是说参数的个数是可以改变的,而不是说参数的类型是可以改变的。
在还没有可变参数的时候,我们要把它封装成一个数组,然后再传进去,如果现在不用了,可以直接的写到方法调用那里,方便了不少;
我们来看代码:
show(); 方法,就是一个可变参数的方法,我们在调用的时候是不是可以看到,可以到,你可以传入随意个数的参数,注意,是随意个数,不是随意类型。类型还是要老老实实的传它规定的类型。参数个数是可变的,那当然也可以不传,也可以理解为传入0个参数,哈哈。是不是很好玩呢。
接下来再来看看可变参数还有什么需要注意的:
这个方法(show2)里面,我们需要传入的两个参数,一个是String类型的参数,一个是可变长度的参数。
这里需要注意的是,固定类型的参数要放在前面,可变长度的参数要放在最后,最后,最后,否则编译器会报错,这个是需要注意的;
还有一点很好玩的,我们如果要往方法里面传递的参数的个数是不固定的,同时,类型也是不一致的。这该怎么办呢?
这很简单,java支持向上转型,直接把参数的类型定义成Object不就可以了么。就这么简单,哈哈。
看吧,是不是可以,哈哈。很好玩吧,这里需要注意的是:我们在使用参数的时候,位置一定要对,也就是说你传递的时候,什么类型的参数放在什么位置,这点一定要统一的,否则,是很惨的,很惨很惨的,还有一点,在使用参数的时候最好先判断一下类型,然后再强转成相对应的类型。最后才是使用。这就是参数的想上强转。
好了,可变参数都玩转了,再来玩一个最好玩的。哈哈
自己看呗,这个我就不再解释了,各位看官看也看的明白。哈哈。
这里奉献一句,不建议这样做,也就是说不建议前面传递的参数的类型和后面可变参数的类型是一致的,这种做法不建议!
可变参数讲到这里,觉得好的点个顶,觉得有什么不对的,欢迎指正!