`
臻是二哥
  • 浏览: 188407 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

Java中的可变参数

    博客分类:
  • JAVA
阅读更多
Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数。比如原来有一段代码如下:
public class Test {  
    public static void main(String[] args) {  
        test();  
        test(new String[]{"a"});  
        test(new String[]{"a", "b"});  
    }  
  
    private static void test() {  
        System.out.println(“[]”);  
    }  
  
    private static void test(String[] args) {  
        System.out.println(Arrays.toString(args));  
    }  
}  

使用可变参数之后的代码如下:
public class Test {  
    public static void main(String[] args) {  
        test();  
        test(new String[]{"a"});  
        test(new String[]{"a", "b"});  
    }  
  
    private static void test(String... args) {  
        System.out.println(Arrays.toString(args));  
    }  
}  

可见,可变参数的功能更加强大,语意包含的范围更广。
我们知道,在Java中,除了8种基本类型之外一切都是类。那么可变参数到底是个什么类呢?来,用代码验证下!
public class Test {  
    public static void main(String[] args) {  
        whatClass();  
        whatClass1();  
    }  
  
    private static void whatClass(String... args) {  
        System.out.println(args.getClass());  
        System.out.println(new String[]{}.getClass());  
    }  
  
    private static void whatClass1(int... args) {  
        System.out.println(args.getClass());  
        System.out.println(new int[]{}.getClass());  
    }  
}  

上面代码的运行结果是:
class [Ljava.lang.String; 
class [Ljava.lang.String; 
class [I 
class [I

可见,可变参数在运行时还是会被JVM转变成一个数组,所以当我们使用可变参数的时候,实际上又一个隐含的过程,就是创建一个数组并且赋初值。当我们对性能敏感时,这一特性可能会坑了我们,为何这样说?看下面的代码:

相信内容,请移步到笔者的博客新地址:
http://blog.csdn.net/yizhenn/article/details/53954136
0
1
分享到:
评论

相关推荐

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

    本文将探讨一个共同的话题——如何在C和Java中定义可变参数列表的函数。可变参数列表,也称为不定参数或可变参数,允许函数接受不同数量的参数,增加了代码的灵活性。 在C语言中,可变参数列表的实现依赖于`stdarg....

    [java]中的可变参数定义和使用

    ### Java中的可变参数定义与使用详解 #### 可变参数概述 在Java编程语言中,可变参数(Varargs)是一种特殊的参数形式,允许一个方法接受任意数量的同类型参数。这种特性使得方法能够更加灵活地处理不同数量的输入...

    Java数组传递及可变参数操作实例详解

    Java 可变参数是指在方法中可以传递同类型的可变参数,JDK 1.5 开始支持这种特性。可变参数可以使得方法更加灵活、方便使用。可变参数的使用规则包括:可以不写参数,即传入空参;可以直接在里边写入参数,参数间用...

    java可变参数

    Java可变参数是Java语言中一个非常实用的特性,它允许方法接受数量可变的参数。这个特性在Java 5中被引入,极大地提高了代码的灵活性和可读性。下面我们将详细探讨Java可变参数的概念、用法以及背后的实现原理。 ##...

    10.java可变参数.zip

    10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可变参数.zip10.java可...

    Java中支持可变参数详解

    Java中的可变参数(Variable Argument)是Java 5引入的一项特性,它允许我们在定义方法时,接受数量可变的参数。这种机制使得方法调用更加灵活,尤其在处理不确定参数个数的情况时,大大简化了代码。下面我们将深入...

    Java可变参数demo

    在这个名为"Java可变参数demo"的示例中,开发者通过分析Android蓝牙框架层的源码,对Java的可变参数有了更深入的理解,并编写了一个小的演示程序以备后用。下面我们将详细探讨Java可变参数的相关知识点。 1. 可变...

    Java中的可变参数常见用法实例总结

    Java中的可变参数常见用法实例总结 Java中的可变参数是一种特殊的参数类型,允许在方法中传递可变数量的参数。下面是Java中的可变参数常见用法实例总结: 一、可变参数的概念 在J2SE 1.4之前,Java中无法定义实参...

    Kotlin传递可变长参数给Java可变参数实例代码

    在本文中,我们将介绍Kotlin传递可变长参数给Java可变参数实例代码的实现方法。 Java可变参数方法 ---------------- 在Java中,我们可以使用可变参数来定义方法,例如: ```java public class CallJavaUtils { ...

    java可变参数.pdf

    Java中的可变参数(Varargs)是一种语法特性,允许开发者定义接受不定数量参数的方法。这在实际开发中非常有用,特别是在实现方法重载或者想要简化代码时。可变参数在Java中自J2SE 1.5版本起被引入。在可变参数方法...

    Java的可变参数讲解代码(使用方式、原理、结合泛型、使用元组或列表进行参数传递、 使用默认值、缓存计算结果、实战构建动态日志)

    Java可变参数(Varargs)是一种语言特性,允许方法接受可变数量的参数。在方法声明中使用省略号(...) 表示,可以将不定数量的参数传递给方法。可变参数使得方法更加灵活,可以接受任意数量的参数,并以数组形式访问...

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

    Java中的可变长参数(Varargs)是一种非常实用的语言特性,它允许我们在定义方法时接受一个不定数量的参数。这种特性使得我们无需为每个可能的参数组合定义单独的方法,简化了代码并提高了代码的可读性和灵活性。...

    java可变参数[文].pdf

    总之,Java可变参数简化了处理可变数量参数的方法定义和调用,使得代码更加简洁,同时也保留了数组的灵活性。在实际开发中,尤其是在需要处理命令行参数、集合数据等场景下,可变参数是一个非常实用的特性。

    java类和对象之可变参数.docx

    Java 类和对象是编程语言的基础,而可变参数(Variable Argument)是 Java 为了解决方法接收不定数量参数的问题引入的一个特性。这个特性允许我们创建一个方法,它能接受一个可变数量的参数,而不是固定数量。这在...

    Java中可变长度参数代码详解

    "Java中可变长度参数代码详解" Java中可变长度参数代码详解是Java语言中的一种特殊的参数传递机制,允许方法接受可变数量的参数。在Java 1.4之前,无法在Java程序中定义实参数量可变的方法,因为Java要求实参数量和...

    java类和对象之可变参数.pdf

    Java中的可变参数(Variable Arguments)是编程中一个便利的功能,允许我们在方法声明时定义一个可以接受任意数量相同类型参数的参数列表。这种特性在处理不确定数量输入时非常有用,比如函数式编程中的高阶函数。 ...

    java中的可变参数使用方法

    Java中的可变参数(Variable-Argument Parameters)是自Java 1.5版本引入的一个特性,它允许我们在方法声明中使用省略号(...)来表示一个可变数量的参数。这个特性大大增强了Java方法的灵活性,使得我们能够以更加...

    Java 实例 - Varargs 可变参数使用源代码-详细教程.zip

    下面我们将深入探讨Java可变参数的工作原理、语法以及如何在实际项目中应用。 1. 可变参数的语法: 可变参数的声明方式是在参数类型后面加上三个点(...)。例如,以下是一个简单的可变参数方法,用于计算整数之和...

    Java可变参数列表详解

    Java可变参数列表,也称为不定参数,是Java语言中的一种特性,允许方法接收数量可变的参数。这种特性在编程时提供了极大的灵活性,尤其是在处理不确定数量输入的情况下。以下是关于Java可变参数列表的详细解释。 1....

    Spring Quartz可变参数Trigger

    Quartz本身是一个独立的Java库,而Spring通过Spring Quartz模块提供了与Quartz的集成,使得配置和管理作业(Job)和触发器(Trigger)变得更加便捷。 在描述中提到的“动态改变Trigger的参数”,这指的是在任务执行...

Global site tag (gtag.js) - Google Analytics