java基础---->java中变参函数的使用
Java的变参函数实现实际上参数是一个数组,今天我们就简单的学习一下它的用法。
java中的变参函数
一、它的使用方法如下:
public class VariableParam {
private static void variableParam1(Object... args) {
for (Object v : args) {
System.out.print(v.toString() + " ");
}
System.out.println(args.length); // 可以看到args和数组一样有length属性
}
@Test
public void param_1() {
// 如果是List<String>
List<String> lists1 = new ArrayList<>();
lists1.add("huhx");
lists1.add("linux");
variableParam1(lists1); // [huhx, linux] 1
// 如果是List<Object>
List<Object> lists2 = new ArrayList<>();
lists2.add("huhx");
lists2.add("linux");
variableParam1(lists2); // [huhx, linux] 1
// 如果是数组
String[] arrays1 = new String[]{"huhx", "linux"}; // huhx linux 2
variableParam1(arrays1);
// 如果是数组
Object[] arrays2 = new Object[]{"huhx", "linux"};
variableParam1(arrays1); // huhx linux 2
// 如果是参数
variableParam1("huhx", "linux"); // huhx linux 2
}
}
二、一个简单的使用案例
MessageFormat的format方法的第二个参数就是一个变参。它的方法定义:
public static String format(String pattern, Object ... arguments) {
MessageFormat temp = new MessageFormat(pattern);
return temp.format(arguments);
}
以下是一个使用的案例。
public String baseReplaceFromArray(String string, List<String> list) {
return MessageFormat.format(string, transListInfoArrays(list));
}
public static String[] transListInfoArrays(List<String> list) {
String[] arrays = new String[list.size()];
list.toArray(arrays);
return arrays;
}
@Test
public void baseReplaceFromArray_test() {
List<String> list = new ArrayList<>();
list.add("huhx");
list.add("L。");
System.out.println(baseReplaceFromArray("{0} love {1}", list)); // huhx love L。
}
友情链接
java基础---->java中变参函数的使用的更多相关文章
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- Java基础-Java中的堆内存和离堆内存机制
Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java基础-Java中的内存分配与回收机制
Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.
- Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)
Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...
- Java基础-Java中的并法库之线程池技术
Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.
- Java基础-Java中23种设计模式之常用的设计模式
Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...
- Java基础-JAVA中常见的数据结构介绍
Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...
- Java基础__Java中自定义集合类
Java基础__Java中集合类 传送门 自定义MyArrayList集合实现:增加数据.取数据.查看集合中数据个数方法 package com.Gary; public class MyArrayL ...
- Java基础(中)
面向对象基础 面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同: 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题. 面向对象会先抽象出对象,然后用对象执行方法的方式 ...
随机推荐
- Hadoop的体系结构之HDFS的体系结构
Hadoop的体系结构 Hadoop不仅是一个用于分布式存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架. HDFS和MapReduce是Hadoop中的两个最基 ...
- 枚举类转成json
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * portlet类别枚举类 */ ...
- [oracle] 两种权限:系统权限VS对象权限
系统权限表示对表和表空间等 有无操作权 的权限.一般是SYS用户这种DBA来授权.比如: grant create session to lisi grant create table to l ...
- 【转】C#调用WebService实例和开发
一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是 ...
- linux -- ubuntu 通过命令行,设置文件及其子文件的权限
想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理. 例如: [root@localhost ~]# chmod 777 /home/user 注:仅把 ...
- 根据多表条件更新表.............. 一条sql语句.............
CREATE TABLE a( NAME INT, age int ); CREATE TABLE b( height INT, weight int ); ,); ,); SELECT * FROM ...
- Xcode 5: 将新项目同步到Svn上
stackoverflow 两种办法,一是使用比较成熟的svn客户端,二是使用终端.以下为终端方法: 假设已经通过Xcode->Preferences->Accounts将reposito ...
- Mac 下,修改plist文件
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $DISPLAY_NAME" "${PROJECT_TEMP_D ...
- 五步让你玩转CocoaPods
1 安装和升级 $ sudo gem install cocoapods $ pod setup 2 更换为taobao的源 $ gem sources -r https://rubygems.or ...
- 适配器模式(Adapter Pattern)----------结构型模式
对象适配器模式的缺点是:与类适配器模式相比,要在适配器中置换适配着类的某些方法比较麻烦.如果一定要置换掉适配者类的一个或多个方法,可以先做一个适配者类的子类,在子类中将适配者类的方法置换掉,然后再把适 ...