java返回数据到前端的手机号码字段怎么加密中间四个号码用代替用stream流实现
可以通过使用Java的Stream流来对手机号码进行加密,将中间四位号码用*代替。下面是一个示例代码:
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class PhoneNumberEncryption {
public static void main(String[] args) {
String phoneNumber = "1234567890";
String encryptedPhoneNumber = encryptPhoneNumber(phoneNumber);
System.out.println(encryptedPhoneNumber);
}
public static String encryptPhoneNumber(String phoneNumber) {
return IntStream.range(0, phoneNumber.length())
.mapToObj(i -> i >= 3 && i <= 6 ? "*" : String.valueOf(phoneNumber.charAt(i)))
.collect(Collectors.joining());
}
}
运行以上代码会输出结果:123****890。在encryptPhoneNumber方法中,使用IntStream.range创建一个从0到phoneNumber长度的整数流。然后通过mapToObj方法将流中的每个索引位置映射为相应的字符,如果索引位置在3到6之间,则用"*"代替该位置的字符。最后使用collect方法将每个字符连接成一个字符串并返回
原文地址: http://www.cveoy.top/t/topic/hMqJ 著作权归作者所有。请勿转载和采集!