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"的示例中,开发者通过分析Android蓝牙框架层的源码,对Java的可变参数有了更深入的理解,并编写了一个小的演示程序以备后用。下面我们将详细探讨Java可变参数的相关知识点。 1. 可变...
以下是一个Java的可变参数示例: ```java public class VariadicExample { public static void printNumbers(int... numbers) { for (int number : numbers) { System.out.print(number + " "); } } public ...
下面我们将深入探讨Java可变参数的工作原理、语法以及如何在实际项目中应用。 1. 可变参数的语法: 可变参数的声明方式是在参数类型后面加上三个点(...)。例如,以下是一个简单的可变参数方法,用于计算整数之和...
总之,Java可变参数简化了处理可变数量参数的方法定义和调用,使得代码更加简洁,同时也保留了数组的灵活性。在实际开发中,尤其是在需要处理命令行参数、集合数据等场景下,可变参数是一个非常实用的特性。
### Java中的可变参数定义与使用详解 #### 可变参数概述 在Java编程语言中,可变参数(Varargs)是一种特殊的参数形式,允许一个方法接受任意数量的同类型参数。这种特性使得方法能够更加灵活地处理不同数量的输入...
Java可变参数使用示例 Java可变参数是Java 1.5中引入的一种新特性,用于处理参数个数不确定、类型确定的情况。可变参数使得方法的参数列表更加灵活,提高了编程的效率和灵活性。 可变参数的特点: 1. 可变参数...
Java可变参数当做数组处理的方法示例 Java可变参数当做数组处理的方法示例主要介绍了Java可变参数当做数组处理的相关原理、步骤与操作注意事项。本文将通过实例形式对Java可变参数当做数组处理的方法进行详细讲解,...
Java 7是Java发展历程中的一个重要里程碑,引入了许多新特性,旨在提高开发者的生产力和代码的可维护性。 1. **try-with-resources语句**:Java 7引入了try-with-resources语句,使得自动关闭资源(如文件、数据库...
Java 可变参数是Java 5.0引入的一项新特性,它允许我们在方法签名中使用一个带有省略号(...)的参数,使得该方法能够接收任意数量的相同类型的参数。这种特性使得方法调用更加灵活,同时也简化了处理不定数量参数的...
- Java 5.0新特性详解:深入探讨泛型、枚举、可变参数等功能。 - 实战案例:通过具体的项目或示例来加深理解。 #### 3. **Wiley Publishing, Inc.** Wiley Publishing是一家国际知名的出版商,出版范围涵盖技术、...
- **final**关键字用于声明常量、不可变对象以及不可继承类。 - 当用于变量时,表示该变量一旦被初始化就不能再被改变; - 当用于方法时,表示该方法不能被子类覆盖; - 当用于类时,表示该类不能有子类。 ### 4...
FCKeditor是一款著名的开源富文本编辑器,它为用户提供了一个类似Word的网页编辑界面,使得在Web应用中创建和编辑内容变得极其便捷。"fckeditor-java-2.5-bin.zip"是一个包含FCKeditor Java版本2.5的压缩包,专为...
Java函数式编程是一种编程范式,它强调使用函数作为程序的基本构建块,将计算视为函数的组合,并且尽可能避免改变状态和可变数据。在Java 8及更高版本中,函数式编程得到了官方的大力支持,引入了Lambda表达式、...
Quartz本身是一个独立的Java库,而Spring通过Spring Quartz模块提供了与Quartz的集成,使得配置和管理作业(Job)和触发器(Trigger)变得更加便捷。 在描述中提到的“动态改变Trigger的参数”,这指的是在任务执行...
在Java中,可变参数列表允许方法接受任意数量的同类型参数。这通常在参数的数量不确定的情况下非常有用。 - **Varargs 的使用**:在方法声明中,可以通过在参数类型后加上三个点(`...`)来声明一个可变参数列表。...
总结,MySQL Connector/J 8.0.20是Java开发者连接MySQL数据库的重要工具,它提供了全面的功能和良好的兼容性,使得在Java环境中开发与MySQL交互的应用变得更加便捷和高效。了解并熟练使用这个驱动,将有助于提升...
Java中的可变参数(Variable-Argument Parameters)是自Java 1.5版本引入的一个特性,它允许我们在方法声明中使用省略号(...)来表示一个可变数量的参数。这个特性大大增强了Java方法的灵活性,使得我们能够以更加...
- **定义:** `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的可变参数列表(Variable Argument List),也称为varargs,是自Java 5引入的一项特性,它允许方法接受一个可变数量的参数。这种机制使得编写接受任意数量相同类型参数的方法变得更加方便。在使用可变参数时,...