`

java-可变参数示例

    博客分类:
  • java
阅读更多
package cd.itcast.day1;

public class OrderItem {
	private Long id;
	private Double price;
	private Integer num;

	public OrderItem(Long id, Double price, Integer num) {
		super();
		this.id = id;
		this.price = price;
		this.num = num;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Double getPrice() {
		return price;
	}

	public void setPrice(Double price) {
		this.price = price;
	}

	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}

}

package cd.itcast.day1;

/**
 * 为了解决参数不固定性,引入了可变参数
 * 
 * 类型 ... 引用名称
 * 
 * @author Administrator
 * 
 */
public class VarArgsDemo {

	public static void main(String[] args) {
		OrderItem item1 = new OrderItem(1l, 20d, 10);
		OrderItem item2 = new OrderItem(1l, 20d, 10);
		OrderItem item3 = new OrderItem(1l, 20d, 10);
		Double total = count(.8, new OrderItem[] { item1, item2, item3 });
		System.out.println(total);
	}

	/**
	 * [Lcd.itcast.day1.OrderItem;@1fb8ee3
	 * 
	 * @param items
	 *            1,可变参数就是数组,在编译完成之后,方法的签名变成了数组的方式 2,可变参数必须放到参数列表的最后
	 * @return
	 */
	private static Double count(Double cutoff, OrderItem... items) {
		// 在1.4写法:
		// Double total = new Double(0);
		// Double total=Double.valueOf(0);
		/**
		 * 这里存在大量的自动装箱/拆箱特性,这个特性也是编译器级别的特性
		 */
		Double total = 0d;
		for (int i = 0; i < items.length; i++) {
			OrderItem item = items[i];
			total += item.getPrice() * item.getNum();
		}
		return total * cutoff;
	}

	private static Double sum(OrderItem[] items) {
		Double total = 0d;
		for (int i = 0; i < items.length; i++) {
			OrderItem item = items[i];
			total += item.getPrice() * item.getNum();
		}
		return total;
	}
}

分享到:
评论

相关推荐

    Java可变参数demo

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

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

    以下是一个Java的可变参数示例: ```java public class VariadicExample { public static void printNumbers(int... numbers) { for (int number : numbers) { System.out.print(number + " "); } } public ...

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

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

    java可变参数[文].pdf

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

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

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

    java可变参数使用示例

    Java可变参数使用示例 Java可变参数是Java 1.5中引入的一种新特性,用于处理参数个数不确定、类型确定的情况。可变参数使得方法的参数列表更加灵活,提高了编程的效率和灵活性。 可变参数的特点: 1. 可变参数...

    java可变参数当做数组处理的方法示例

    Java可变参数当做数组处理的方法示例 Java可变参数当做数组处理的方法示例主要介绍了Java可变参数当做数组处理的相关原理、步骤与操作注意事项。本文将通过实例形式对Java可变参数当做数组处理的方法进行详细讲解,...

    java72-java-advance.zip

    Java 7是Java发展历程中的一个重要里程碑,引入了许多新特性,旨在提高开发者的生产力和代码的可维护性。 1. **try-with-resources语句**:Java 7引入了try-with-resources语句,使得自动关闭资源(如文件、数据库...

    java 可变参数详解及实例

    Java 可变参数是Java 5.0引入的一项新特性,它允许我们在方法签名中使用一个带有省略号(...)的参数,使得该方法能够接收任意数量的相同类型的参数。这种特性使得方法调用更加灵活,同时也简化了处理不定数量参数的...

    java-wrox-Beginning Java 5.0 2005

    - Java 5.0新特性详解:深入探讨泛型、枚举、可变参数等功能。 - 实战案例:通过具体的项目或示例来加深理解。 #### 3. **Wiley Publishing, Inc.** Wiley Publishing是一家国际知名的出版商,出版范围涵盖技术、...

    java----java面试

    - **final**关键字用于声明常量、不可变对象以及不可继承类。 - 当用于变量时,表示该变量一旦被初始化就不能再被改变; - 当用于方法时,表示该方法不能被子类覆盖; - 当用于类时,表示该类不能有子类。 ### 4...

    fckeditor-java-2.5-bin.zip

    FCKeditor是一款著名的开源富文本编辑器,它为用户提供了一个类似Word的网页编辑界面,使得在Web应用中创建和编辑内容变得极其便捷。"fckeditor-java-2.5-bin.zip"是一个包含FCKeditor Java版本2.5的压缩包,专为...

    Java-Java函数式编程教程

    Java函数式编程是一种编程范式,它强调使用函数作为程序的基本构建块,将计算视为函数的组合,并且尽可能避免改变状态和可变数据。在Java 8及更高版本中,函数式编程得到了官方的大力支持,引入了Lambda表达式、...

    Spring Quartz可变参数Trigger

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

    Java零基础-参数传递-2.md

    在Java中,可变参数列表允许方法接受任意数量的同类型参数。这通常在参数的数量不确定的情况下非常有用。 - **Varargs 的使用**:在方法声明中,可以通过在参数类型后加上三个点(`...`)来声明一个可变参数列表。...

    mysql-connector-java-8.0.20

    总结,MySQL Connector/J 8.0.20是Java开发者连接MySQL数据库的重要工具,它提供了全面的功能和良好的兼容性,使得在Java环境中开发与MySQL交互的应用变得更加便捷和高效。了解并熟练使用这个驱动,将有助于提升...

    java中的可变参数使用方法

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

    java---- 封装,接口,继承,覆盖,构造过程,多态,static、this、super、final用法

    - **定义:** `final` 是一个修饰符,用于声明一个常量或不可变对象。 - **特点:** - `final` 变量一旦赋值后就不能更改。 - `final` 类不能被继承。 - `final` 方法不能被覆盖。 - **示例:** ```java public...

    函数参数:可变参数

    在Java中,可变参数通过在参数类型后面加上"..."(省略号)来实现。例如: ```java public static void varArgs(int... numbers) { for (int num : numbers) { System.out.println(num); } } public static ...

    解析Java的可变长参数列表及其使用时的注意点

    Java的可变参数列表(Variable Argument List),也称为varargs,是自Java 5引入的一项特性,它允许方法接受一个可变数量的参数。这种机制使得编写接受任意数量相同类型参数的方法变得更加方便。在使用可变参数时,...

Global site tag (gtag.js) - Google Analytics