JDK源码之lang.String(九)String类中的常用方法

1.String类中的join(CharSequence delimiter, CharSequence... elements)方法:

    public static String join(CharSequence delimiter, CharSequence... elements) {
        Objects.requireNonNull(delimiter);
        Objects.requireNonNull(elements);
        // Number of elements not likely worth Arrays.stream overhead.
        StringJoiner joiner = new StringJoiner(delimiter);
        for (CharSequence cs: elements) {
            joiner.add(cs);
        }
        return joiner.toString();
    }

 返回一个新的字符串,由CharSequence elements的副本组成,并附有指定的delimiter的delimiter

顺便说一下requireNonNull(T obj)方法:

public static <T> T requireNonNull(T obj) {
        if (obj == null)
            throw new NullPointerException();
        return obj;
    }

 就是一个判断传入的对象是否为null的方法

示例:

package com.ftl821;

public class Test {
	public static void main(String[] args) {
		String str="ff";
		String str1="dfhsssssssssssssssshd";
		System.out.println(str.join("**", "看","一","下","结果"));
		System.out.println(str1.join("**", "看","一","下","结果"));
		System.out.println(String.join("**", "看","一","下","结果"));
		
	}

}

输出:

其输出结果和调用该方法的对象没有任何关系,最终得到的对象只与方法里面的格式和内容有关。

 

2.String类中的 join(CharSequence delimiter, Iterable<? extends CharSequence> elements)方法:

    public static String join(CharSequence delimiter,
            Iterable<? extends CharSequence> elements) {
        Objects.requireNonNull(delimiter);
        Objects.requireNonNull(elements);
        StringJoiner joiner = new StringJoiner(delimiter);
        for (CharSequence cs: elements) {
            joiner.add(cs);
        }
        return joiner.toString();
    }

返回一个新String的副本组成CharSequence elements与指定的副本一起加入delimiter

示例:

package com.ftl821;

import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

public class Test {
	public static void main(String[] args) {
		
	     List<String> strings = new LinkedList<>();
	     strings.add("Java");
	     strings.add("is");
	     strings.add("cool");
	    System.out.println(String.join("**", strings));

	     Set<String> strings1 = new LinkedHashSet<>();
	     strings1.add("Java"); 
	     strings1.add("is");
	     strings1.add("very");
	     strings1.add("cool");
	     System.out.println(String.join("##", strings1));

	}

}

输出:

分析:其实这个方法和上一个方法是一样的,只不过上个方法的字符串元素是一个一个写上去的,而这个方法则是将字符串元素放到list或set集合中,然后再在字符串元素中间添加指定的字符串进行拼接后输出。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值