文章目录
其他工具类 【Java常用工具类】数学计算 【Java常用工具类】日期类 【Java常用工具类】easyexcel基本使用演示 【Java常用工具类】集合操作常用方法 方法解释 1、nullToEmpty(String string),把null转换成空字符串,如果不是null则不变 2、padStart(String string, int minLength, char padChar),在目标字符串前拼接指定内容 3、padEnd(String string, int minLength, char padChar),在目标字符串后拼接指定内容 4、repeat(String str, int count),重复拼接str内容count次 5、commonPrefix(CharSequence a, CharSequence b),取公共前缀 6、commonSuffix(CharSequence a, CharSequence b),取公共后缀 7、splitToList(String separator, String string),按照separator对string进行分割,返回list 8、splitToIterator(String separator, String string),功能与splitToList一样,返回iterator 9、splitToStream(String separator, String string),功能与splitToList一样,返回stream 10、splitFixLengthToIterator(int length, String string),功能与splitToList一样,控制了被分割后的长度 11、splitFixLengthToList(int length, String string),功能与splitFixLengthToIterator一样,返回list 12、splitFixLengthToStream(int length, String string),功能与splitFixLengthToIterator一样,返回stream 13、splitToMap(String separator1, String separator2, String string),把key、value格式的字符串分割成map 14、join(char separator, Iterable<Integer> parts),用分隔符拼接被分割的集合 15、joinSkipNulls(char separator, Iterable<Integer> parts),用分隔符拼接被分割的集合,跳过null值 16、joinSkipUseForNulls(char separator, Iterable<Integer> parts, String nullText),用分隔符拼接被分割的集合,把null值替换成nullText 17、retainFrom(String string, final char startInclusive, final char endInclusive),提取给定字符串中只包含startInclusive到endInclusive范围的内容 18、removeFrom(String string, final char startInclusive, final char endInclusive),删除给定字符串中只startInclusive到endInclusive范围的内容 19、removeIsChar(String string, char isChar),在string中把isChar移除 20、removeIsNotChar(String string, char isNotChar),在string中把除了isNotChar的移除 21、removeAnyChar(String string, String anyStr),在string中把anyStr移除 22、removeNotAnyChar(String string, String notAnyStr),在string中把除了notAnyStr的移除 23、underscoreToCamel(String string),下划线格式转驼峰 24、camelToUnderscore(String string),驼峰格式转下划线 25、mapJoinSeparatorToString(Map<String, String> map, String separator1, String separator2),把map中的key、value按照分隔符拼接成字符串
方法代码
其他工具类
方法解释
1、nullToEmpty(String string),把null转换成空字符串,如果不是null则不变
@Test
public void nullToEmpty ( ) {
Assert . assertEquals ( "" , StringsUtils . nullToEmpty ( null ) ) ;
Assert . assertEquals ( "" , StringsUtils . nullToEmpty ( "" ) ) ;
Assert . assertEquals ( "a" , StringsUtils . nullToEmpty ( "a" ) ) ;
}
2、padStart(String string, int minLength, char padChar),在目标字符串前拼接指定内容
@Test
public void padStart ( ) {
Assert . assertEquals ( "x" , StringsUtils . padStart ( "x" , 1 , '-' ) ) ;
Assert . assertEquals ( "-x" , StringsUtils . padStart ( "x" , 2 , '-' ) ) ;
Assert . assertEquals ( "xx" , StringsUtils . padStart ( "xx" , 1 , '-' ) ) ;
}
3、padEnd(String string, int minLength, char padChar),在目标字符串后拼接指定内容
@Test
public void padEnd ( ) {
Assert . assertEquals ( "x--" , StringsUtils . padEnd ( "x" , 3 , '-' ) ) ;
}
4、repeat(String str, int count),重复拼接str内容count次
@Test
public void repeat ( ) {
String str = "12-" ;
Assert . assertEquals ( "" , StringsUtils . repeat ( str, 0 ) ) ;
Assert . assertEquals ( "12-" , StringsUtils . repeat ( str, 1 ) ) ;
Assert . assertEquals ( "12-12-" , StringsUtils . repeat ( str, 2 ) ) ;
Assert . assertEquals ( "12-12-12-" , StringsUtils . repeat ( str, 3 ) ) ;
}
5、commonPrefix(CharSequence a, CharSequence b),取公共前缀
@Test
public void commonPrefix ( ) {
Assert . assertEquals ( "ab" , StringsUtils . commonPrefix ( "abcd" , "abed" ) ) ;
}
6、commonSuffix(CharSequence a, CharSequence b),取公共后缀
@Test
public void commonSuffix ( ) {
Assert . assertEquals ( "d" , StringsUtils . commonSuffix ( "abcd" , "abed" ) ) ;
}
7、splitToList(String separator, String string),按照separator对string进行分割,返回list
@Test
public void splitToIterator ( ) {
Iterator < String > stringIterator = StringsUtils . splitToIterator ( "," , "a,b,c" ) ;
String [ ] strings = new String [ 3 ] ;
int i = 0 ;
while ( stringIterator. hasNext ( ) ) {
strings[ i++ ] = stringIterator. next ( ) ;
}
Assert . assertEquals ( Arrays . asList ( strings) , Arrays . asList ( "a" , "b" , "c" ) ) ;
}
8、splitToIterator(String separator, String string),功能与splitToList一样,返回iterator
@Test
public void splitToList ( ) {
List < String > stringList = StringsUtils . splitToList ( "," , "a,b,c" ) ;
Assert . assertEquals ( Arrays . asList ( "a" , "b" , "c" ) , stringList) ;
}
9、splitToStream(String separator, String string),功能与splitToList一样,返回stream
@Test
public void splitToStream ( ) {
Stream < String > stringStream = StringsUtils . splitToStream ( "," , "a,b,c" ) ;
Assert . assertEquals ( Arrays . asList ( "a" , "b" , "c" ) , stringStream. collect ( Collectors . toList ( ) ) ) ;
}
10、splitFixLengthToIterator(int length, String string),功能与splitToList一样,控制了被分割后的长度
@Test
public void splitFixLengthToIterator ( ) {
Iterator < String > stringIterator = StringsUtils . splitFixLengthToIterator ( 2 , "abcde" ) ;
String [ ] strings = new String [ 3 ] ;
int i = 0 ;
while ( stringIterator. hasNext ( ) ) {
strings[ i++ ] = stringIterator. next ( ) ;
}
Assert . assertEquals ( Arrays . asList ( strings) , Arrays . asList ( "ab" , "cd" , "e" ) ) ;
}
11、splitFixLengthToList(int length, String string),功能与splitFixLengthToIterator一样,返回list
@Test
public void splitFixLengthToList ( ) {
List < String > stringList = StringsUtils . splitFixLengthToList ( 2 , "abc" ) ;
Assert . assertEquals ( Arrays . asList ( "ab" , "c" ) , stringList) ;
}
12、splitFixLengthToStream(int length, String string),功能与splitFixLengthToIterator一样,返回stream
@Test
public void splitFixLengthToStream ( ) {
Stream < String > stringStream = StringsUtils . splitFixLengthToStream ( 1 , "abc" ) ;
Assert . assertEquals ( Arrays . asList ( "a" , "b" , "c" ) , stringStream. collect ( Collectors . toList ( ) ) ) ;
}
13、splitToMap(String separator1, String separator2, String string),把key、value格式的字符串分割成map
@Test
public void splitToMap ( ) {
Map < String , String > stringStringMap = StringsUtils . splitToMap ( "," , ":" , "boy:tom,girl:tina,cat:kitty" ) ;
Map < String , String > expectedMap = new HashMap < > ( ) ;
expectedMap. put ( "boy" , "tom" ) ;
expectedMap. put ( "girl" , "tina" ) ;
expectedMap. put ( "cat" , "kitty" ) ;
Assert . assertEquals ( expectedMap, stringStringMap) ;
}
14、join(char separator, Iterable<Integer> parts),用分隔符拼接被分割的集合
@Test
public void join ( ) {
String join = StringsUtils . join ( '-' , Arrays . asList ( 1 , 2 , 3 ) ) ;
Assert . assertEquals ( "1-2-3" , join) ;
}
15、joinSkipNulls(char separator, Iterable<Integer> parts),用分隔符拼接被分割的集合,跳过null值
@Test
public void joinSkipNulls ( ) {
String join = StringsUtils . joinSkipNulls ( '-' , Arrays . asList ( 1 , null , 2 ) ) ;
Assert . assertEquals ( "1-2" , join) ;
}
16、joinSkipUseForNulls(char separator, Iterable<Integer> parts, String nullText),用分隔符拼接被分割的集合,把null值替换成nullText
@Test
public void joinSkipUseForNulls ( ) {
String join = StringsUtils . joinSkipUseForNulls ( '-' , Arrays . asList ( 1 , null , 2 ) , "0" ) ;
Assert . assertEquals ( "1-0-2" , join) ;
}
17、retainFrom(String string, final char startInclusive, final char endInclusive),提取给定字符串中只包含startInclusive到endInclusive范围的内容
@Test
public void retainFrom ( ) {
String s = StringsUtils . retainFrom ( "aosijs2938av" , 'a' , 'z' ) ;
Assert . assertEquals ( "aosijsav" , s) ;
}
18、removeFrom(String string, final char startInclusive, final char endInclusive),删除给定字符串中只startInclusive到endInclusive范围的内容
@Test
public void removeFrom ( ) {
String s = StringsUtils . removeFrom ( "aosijs2938av" , 'a' , 'z' ) ;
Assert . assertEquals ( "2938" , s) ;
}
19、removeIsChar(String string, char isChar),在string中把isChar移除
@Test
public void removeIsChar ( ) {
String s = StringsUtils . removeIsChar ( "aosijs2938av" , 'a' ) ;
Assert . assertEquals ( "osijs2938v" , s) ;
}
20、removeIsNotChar(String string, char isNotChar),在string中把除了isNotChar的移除
@Test
public void removeIsNotChar ( ) {
String s = StringsUtils . removeIsNotChar ( "aosijs2938av" , 'a' ) ;
Assert . assertEquals ( "aa" , s) ;
}
21、removeAnyChar(String string, String anyStr),在string中把anyStr移除
@Test
public void removeAnyChar ( ) {
String s = StringsUtils . removeAnyChar ( "aosijs2938av" , "a8" ) ;
Assert . assertEquals ( "osijs293v" , s) ;
}
22、removeNotAnyChar(String string, String notAnyStr),在string中把除了notAnyStr的移除
@Test
public void removeNotAnyChar ( ) {
String s = StringsUtils . removeNotAnyChar ( "aosijs2938av" , "a8" ) ;
Assert . assertEquals ( "a8a" , s) ;
}
23、underscoreToCamel(String string),下划线格式转驼峰
@Test
public void underscoreToCamel ( ) {
String s = StringsUtils . underscoreToCamel ( "nick_name" ) ;
Assert . assertEquals ( "nickName" , s) ;
}
24、camelToUnderscore(String string),驼峰格式转下划线
@Test
public void camelToUnderscore ( ) {
String s = StringsUtils . camelToUnderscore ( "nickName" ) ;
Assert . assertEquals ( "nick_name" , s) ;
}
25、mapJoinSeparatorToString(Map<String, String> map, String separator1, String separator2),把map中的key、value按照分隔符拼接成字符串
@Test
public void mapJoinSeparatorToString ( ) {
Map < String , String > expectedMap = new HashMap < > ( ) ;
expectedMap. put ( "boy" , "tom" ) ;
expectedMap. put ( "girl" , "tina" ) ;
expectedMap. put ( "cat" , "kitty" ) ;
String join = StringsUtils . mapJoinSeparatorToString ( expectedMap, "," , ":" ) ;
Assert . assertEquals ( join, "cat:kitty,girl:tina,boy:tom" ) ;
}
方法代码
import com. google. common. base. * ;
import java. util. Iterator ;
import java. util. List ;
import java. util. Map ;
import java. util. stream. Stream ;
public class StringsUtils {
public static String nullToEmpty ( String string) {
return Strings . nullToEmpty ( string) ;
}
public static String padStart ( String string, int minLength, char padChar) {
return Strings . padStart ( string, minLength, padChar) ;
}
public static String padEnd ( String string, int minLength, char padChar) {
return Strings . padEnd ( string, minLength, padChar) ;
}
public static String repeat ( String string, int count) {
return Strings . repeat ( string, count) ;
}
public static String commonPrefix ( CharSequence a, CharSequence b) {
return Strings . commonPrefix ( a, b) ;
}
public static String commonSuffix ( CharSequence a, CharSequence b) {
return Strings . commonSuffix ( a, b) ;
}
public static Iterator < String > splitToIterator ( String separator, String string) {
Splitter COMMA_SPLITTER = Splitter . on ( separator) ;
return COMMA_SPLITTER. split ( string) . iterator ( ) ;
}
public static List < String > splitToList ( String separator, String string) {
Splitter COMMA_SPLITTER = Splitter . on ( separator) ;
return COMMA_SPLITTER. splitToList ( string) ;
}
public static Stream < String > splitToStream ( String separator, String string) {
Splitter COMMA_SPLITTER = Splitter . on ( separator) ;
return COMMA_SPLITTER. splitToStream ( string) ;
}
public static Iterator < String > splitFixLengthToIterator ( int length, String string) {
return Splitter . fixedLength ( length) . split ( string) . iterator ( ) ;
}
public static List < String > splitFixLengthToList ( int length, String string) {
return Splitter . fixedLength ( length) . splitToList ( string) ;
}
public static Stream < String > splitFixLengthToStream ( int length, String string) {
return Splitter . fixedLength ( length) . splitToStream ( string) ;
}
public static Map < String , String > splitToMap ( String separator1, String separator2, String string) {
return Splitter . on ( separator1)
. withKeyValueSeparator ( separator2)
. split ( string) ;
}
public static String join ( char separator, Iterable < Integer > parts) {
Joiner onChar = Joiner . on ( separator) ;
return onChar. join ( parts) ;
}
public static String joinSkipNulls ( char separator, Iterable < Integer > parts) {
Joiner onChar = Joiner . on ( separator) ;
return onChar. skipNulls ( ) . join ( parts) ;
}
public static String joinSkipUseForNulls ( char separator, Iterable < Integer > parts, String nullText) {
Joiner onChar = Joiner . on ( separator) ;
return onChar. useForNull ( nullText) . join ( parts) ;
}
public static String mapJoinSeparatorToString ( Map < String , String > map, String separator1, String separator2) {
return Joiner . on ( separator1) . withKeyValueSeparator ( separator2) . join ( map) ;
}
public static String retainFrom ( String string, final char startInclusive, final char endInclusive) {
return CharMatcher . inRange ( startInclusive, endInclusive) . retainFrom ( string) ;
}
public static String removeFrom ( String string, final char startInclusive, final char endInclusive) {
return CharMatcher . inRange ( startInclusive, endInclusive) . removeFrom ( string) ;
}
public static String removeIsChar ( String string, char isChar) {
return CharMatcher . is ( isChar) . removeFrom ( string) ;
}
public static String removeIsNotChar ( String string, char isNotChar) {
return CharMatcher . isNot ( isNotChar) . removeFrom ( string) ;
}
public static String removeAnyChar ( String string, String anyStr) {
return CharMatcher . anyOf ( anyStr) . removeFrom ( string) ;
}
public static String removeNotAnyChar ( String string, String notAnyStr) {
return CharMatcher . noneOf ( notAnyStr) . removeFrom ( string) ;
}
public static String underscoreToCamel ( String string) {
return CaseFormat . LOWER_UNDERSCORE. to ( CaseFormat . LOWER_CAMEL, string) ;
}
public static String camelToUnderscore ( String string) {
return CaseFormat . LOWER_CAMEL. to ( CaseFormat . LOWER_UNDERSCORE, string) ;
}
}