`

java 函数中可以用可变参数传替 ...

    博客分类:
  • Java
阅读更多

参考:http://xhpscdx.iteye.com/blog/706946

JDK1.5引进了方法的可变参数,受到许多开发人员的青睐。

1,基本使用:

public class MethodNum {
	public void method(String... strings) {
		System.out.println("The argument num is : "+strings.length);
	}
//	public void method(String[] strings) {
//		System.out.println("The argument num is : "+strings.length);
//	}
	public static void main(String[] args) {
		MethodNum m = new MethodNum();
		m.method();
		m.method("s","2");
	}
}

 函数中直接认为,strings为string[]就行了。

 2,可变参数方法与数组参数方法不好重载,认为方法重复

public class MethodNum {
	public void method(String... strings) {
		System.out.println("The argument num is : "+strings.length);
	}
	public void method(String[] strings) {
		System.out.println("The argument num is : "+strings.length);
	}
	public static void main(String[] args) {
		MethodNum m = new MethodNum();
		m.method();
		m.method("s","2");
	}
}

 

3,同一类型的可变与不可不混搭一个不好重载。

public class MethodNum {
	public void method(String... strings) {
		System.out.println("The argument num is : "+strings.length);
	}
	public void method(String str, String... strings) {
		System.out.println("The argument num is : "+strings.length);
	}
	public static void main(String[] args) {
		MethodNum m = new MethodNum();
//		m.method();
		m.method("s","2","s");
	}
}

 

编译器认为有歧义。

Array中的类文件有就使用了可变参数:

    public static <T> List<T> asList(T... a) {
	return new ArrayList<T>(a);
    }

 

例子:

    List<String> messages = Arrays.asList(
        "Mares eat oats",
        "Does eat oats",
        "Little lambs eat ivy",
        "Wouldn't you eat ivy too?");

 

分享到:
评论

相关推荐

    参数数目可变的函数 求和

    输入的第一个数字为准备输入函数的个数。 对后面输入的函数求和。

    C以及Java中可变参数列表函数定义方法

    NULL 博文链接:https://liuzhengli0706-163-com.iteye.com/blog/1840781

    Java中支持可变参数详解

    那个可变参数的就是个数组,你传多少个参数都被放到那个数组里面。这样方便了程序员,因为如果不确定要传的参数的个数的话,我们要写带1个参数的,带2个参数,带3个参数的,这样很麻烦。 该进后的这个方法,我们只要...

    基础深化和提高-java函数式编程

    Java函数式编程是指利用函数式编程的思想和特性来开发Java应用程序。函数式编程强调将计算过程视为数学函数的求值,侧重于函数的组合、映射、过滤等操作,同时避免了可变状态和可变数据。 在Java中,函数式编程主要...

    Python 函数的参数-在函数内部使用方法修改可变参数会影响外部实参

    Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。 Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于...

    关于java中可变长参数的定义及使用方法详解

    下面小编就为大家带来一篇关于java中可变长参数的定义及使用方法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java中的可变参数使用方法

    主要介绍了java中的可变参数使用方法的相关资料,需要的朋友可以参考下

    揭密X86架构C可变参数函数实现原理_海枫的专栏-CSDN博客1

    如果读者对C语言可变参数函了解不多,可参考拙文「亲密接触C可变参数函数」,本文不再讲述C语言可变参数函数本身的定义,以及va_start、va_arg和va_e

    轻松学习JavaScript函数中的 Rest 参数

    JavaScript函数可以使用任意数量的参数。与其他语言(如C#和Java)不同,你可以在调用JavaScript函数时传递任意数量的参数。JavaScript函数允许未知数量的函数参数。在ECMAScript 6之前,JavaScript有一个变量来访问...

    Java基础知识点总结.docx

    可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 &lt;java.lang&gt;System 89 &lt;java.lang&gt;Runtime 90 &lt;java.lang&gt;Math 90 &lt;java.lang&gt;.Date:日期类,月份从0—11 92 &lt;java.lang&gt; Calendar:日历类 93 ...

    扩展:Java高级技术.pdf

    类型后面三个点(String...),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列 表,其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如:有一个...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目源代码

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java的传值与传引用详解

     C 语言中有一种数据类型叫做指针,于是将一个数据作为参数传递给某个函数的时候,就有两种方式:传值,或是传指针,它们的区别,可以用一个简单的例子说明: /* 例 5 */ /** * @(#) test.c * @author fancy */...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

Global site tag (gtag.js) - Google Analytics