Java方法中的一种参数:可变长度参数列表(String...)

Java对方法参数支持一种写法,叫可变长度参数列表(String…)。
实例如下,请阅读代码以加深入理解:

package tempExample;

import java.util.Arrays;
import java.util.Collection;
import java.util.List;

//author @Zohing

public class VarLenParamList {
	
	  /**
	   * 空字符
	   */
	  public static final String BLANK = "";
	  
	  /**
	   * 符号(:)
	   */
	  public static final String SIGN_NEGATIVE = ":";
	  
	  public static boolean isEmpty(Collection<?> collection) {
		    return collection == null || collection.isEmpty();
		  }
	  
	  public static boolean isNotEmpty(Collection<?> collection) {
	    return !isEmpty(collection);
	  }

	  /**
	   * 如果对象为空,则转换为空
	   *
	   * @param str 转换对象
	   * @return 处理结果
	   */
	  public static String nullToEmpty(String str) {
	    if (str == null) {
	      return BLANK;
	    }
	    return str;
	  }
	  
	  /**
	   * 收集字符串
	   *
	   * @param concatMark 连接符号
	   * @param strArray   可变长度参数列表(String...)
	   * @return 字符串
	   */
	  public static String concatStringWithSeparate(String concatMark, String... strArray) {
	    return concatStringWithSeparate(concatMark, Arrays.asList(strArray));
	  }

	  /**
	   * 收集字符串
	   *
	   * @param concatMark 连接符号
	   * @param strList    字符串列表
	   * @return 字符串
	   */
	  public static String concatStringWithSeparate(String concatMark, List<String> strList) {
	    StringBuilder sb = new StringBuilder();
	    concatMark = nullToEmpty(concatMark);
	    if (isNotEmpty(strList)) {
	      for (int i = 0; i < strList.size(); i++) {
	        String str = strList.get(i);
	        sb.append(nullToEmpty(str));
	        if (i != strList.size() - 1) {
	          sb.append(concatMark);
	        }
	      }
	    }
	    return sb.toString();
	  }

	  public static void main(String[] args) {
		  System.out.println(concatStringWithSeparate(SIGN_NEGATIVE,nullToEmpty("Java方法参数(String...)是"),nullToEmpty("可变长度参数列表")));
		  System.out.println(concatStringWithSeparate(SIGN_NEGATIVE,nullToEmpty("Java方法参数(String...)是"),nullToEmpty("可变长度参数列表")
				  ,nullToEmpty("可变长度参数列表"),nullToEmpty("可变长度参数列表"),nullToEmpty("可变长度参数列表")));
		  System.out.println(concatStringWithSeparate(SIGN_NEGATIVE,nullToEmpty(""),nullToEmpty("")));
		  System.out.println(concatStringWithSeparate(SIGN_NEGATIVE,nullToEmpty(""),nullToEmpty(""),nullToEmpty(""),nullToEmpty("")));
	  }
}

VarLenParamList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值