JAVA中可以使用不定参数,
例如 public void test(String ...args){...} 这里test方法可以传入参数的情况是:
1.不使用参数,如test()
2.使用一个或多个参数,如test("1"); test("1","2");
3.使用数组 test(new String[]{"1","2"});
在test方法内部,我们可以像使用数组的访问方式一样来访问参数args.如:args[i] 这样就有一个好处,在参数输入不定的情况下,使用这个方法非常简单。非常易于使用。
有几点需要注意的就是
我们见到的是不定参数,其实编译器编译之后它会将这个test(String ...args){...} 编译成为数组调用的方式test(String[] args){} ,这个过程是编译中就完成了的,我们程序编写过程中看不到这个实际的转换过程。 而我们调用这个test方法时,编译器同样会把参数转换成new String[]{""}的形式调用,所以,本质上来讲,就是一个以数组为参数的调用方法,我们看不到而已,具体详细情况可以反编译class类就可以明了。
如果同时同一个类中还有一个test方法,例如test(),或者test(String args) ,我们采用 test("1")的方式调用,我们就可以知道了,因为有这个方法存在,所以编译器就会优先使用这个 test(String args) 方法,而不会使用不定参数的方法,这个原因很明确,因为不定参数本质上是一个数组为参数的方式。所以,如果你定义了一个不定参数的test方法,如果你再定义一个test(String[] args)的以数组为参数的方法,编译器就会提示你方法定义重复。道理就在这里。
希望以上的解释能够帮助到大家。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lovingprince/archive/2008/05/20/2461533.aspx
分享到:
相关推荐
java中不定长参数的实例用法 java中不定长参数是指在方法参数列表中使用变长参数的语法规则,变长参数可以接受零个或多个参数值。变长参数的使用可以提高代码的灵活性和可读性。 在java中,不定长参数的语法规则是...
综上所述,Java可变参数是Java语言中一个强大的特性,它简化了处理不定数量参数的方法定义,同时提供了良好的可读性和便利性。理解其工作原理和使用注意事项,可以帮助我们编写出更高效、更易于维护的代码。
可变参数列表,也称为不定参数或可变参数,允许函数接受不同数量的参数,增加了代码的灵活性。 在C语言中,可变参数列表的实现依赖于`stdarg.h`库中的宏和数据类型。要定义一个可变参数列表的函数,我们需要以下几...
在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多...
在方法声明中使用省略号(...) 表示,可以将不定数量的参数传递给方法。可变参数使得方法更加灵活,可以接受任意数量的参数,并以数组形式访问这些参数。 适用人群: Java可变参数适用于所有使用Java编程语言的...
不定参数函数是编程语言中的一种特性,允许我们定义可以接受任意数量参数的函数。这种功能在处理各种场景时非常有用,比如需要一个函数能够灵活地处理任意数量的输入数据,或者在不知道具体参数数量的情况下创建通用...
Java中的可变参数(Varargs)是一种语法特性,允许开发者定义接受不定数量参数的方法。这在实际开发中非常有用,特别是在实现方法重载或者想要简化代码时。可变参数在Java中自J2SE 1.5版本起被引入。在可变参数方法...
Java中的可变长参数(Varargs)是一种非常实用的语言特性,它允许我们在定义方法时接受一个不定数量的参数。这种特性使得我们无需为每个可能的参数组合定义单独的方法,简化了代码并提高了代码的可读性和灵活性。...
Java 类和对象是编程语言的基础,而可变参数(Variable Argument)是 Java 为了解决方法接收不定数量参数的问题引入的一个特性。这个特性允许我们创建一个方法,它能接受一个可变数量的参数,而不是固定数量。这在...
Java可变参数列表,也称为不定参数,是Java语言中的一种特性,允许方法接收数量可变的参数。这种特性在编程时提供了极大的灵活性,尤其是在处理不确定数量输入的情况下。以下是关于Java可变参数列表的详细解释。 1....
Java中的可变长参数是Java 5引入的一个重要特性,它允许我们在定义方法时使用一个类型后跟三个点(...)来表示该方法可以接受任意数量的参数。这个特性极大地提高了代码的灵活性和便利性,使得我们可以以更简洁的...
1. **泛型(Generics)**:这是Java 1.5最显著的变化之一,允许在类、接口和方法中使用类型参数,增强了类型安全性和代码复用。泛型通过消除强制类型转换,减少了编译器错误和运行时异常。 2. **枚举(Enums)**:...
Java 可变参数是Java 5.0引入的一项新特性,它允许我们在方法签名中使用一个带有省略号(...)的参数,使得该方法能够接收任意数量的相同类型的参数。这种特性使得方法调用更加灵活,同时也简化了处理不定数量参数的...
- **可变参数**(varargs):方便地传递不定数量的参数。 - **异常链**:允许在捕获异常时添加更多的上下文信息。 - **Swing增强**:包括更好的布局管理、组件和国际化支持。 - **NIO.2**:提供了新的文件系统...
Java中的可变参数是一种强大的工具,它简化了处理不定数量参数的代码。然而,为了优化性能,我们需要根据实际需求谨慎使用,特别是在预期参数数量较大的场景下,应考虑提供重载方法来平衡性能和便利性。了解并熟练...
Java的可变参数(Varargs)为程序员提供了一种灵活的方式来处理不定数量的参数,提高了代码的可读性和简洁性。理解并熟练掌握这一特性,能让你的Java编程更加高效。通过上述讲解,你应该对Java的可变参数有了全面的...
总结来说,Java中的可变参数提供了一种灵活的方式来处理不定数量的参数,它实际上是通过数组的形式在后台进行操作。这种方式不仅简化了代码,而且使得方法调用更加直观。然而,为了保持代码的清晰和一致性,我们应该...
与变长参数类似,但主要用于方法的参数列表中,提供了一种传递不定数量参数的方法。 ### Java 6新特性 #### 9. **并发工具类(Concurrent Utility Classes)** Java 6引入了`java.util.concurrent`包,提供了...
输入的第一个数字为准备输入函数的个数。 对后面输入的函数求和。
- **变量长度参数(Varargs)**:允许在方法声明中使用`...`作为参数,简化了不定数量的参数传递。 - **增强的for循环(For-Each Loop)**:简化了遍历集合、数组等的数据结构。 3. **核心类库** - **`java.lang...