淺談常用字符串與集合類轉(zhuǎn)換的工具類
在項(xiàng)目中,我們經(jīng)常需要把接收到的字符串轉(zhuǎn)換成對應(yīng)的集合類保存,或者把集合類轉(zhuǎn)換成字符串以方便傳輸,這個(gè)工具類中封裝了幾個(gè)常用的方法,對于這種轉(zhuǎn)換需求十分方便。
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
public class MyStringUtils {
/**
* 將字符串轉(zhuǎn)換成set集合類
* 分隔符是任意空白字符
*/
public static Set<String> parseParameterList(String values) {
Set<String> result = new TreeSet<String>();
if (values != null && values.trim().length() > 0) {
// the spec says the scope is separated by spaces
String[] tokens = values.split("[\\s+]");//匹配任意空白字符
result.addAll(Arrays.asList(tokens));
}
return result;
}
/**
* 把集合轉(zhuǎn)化成指定形式的字符串
*/
public static String formatParameterList(Collection<String> value) {
return value == null ? null : StringUtils.collectionToDelimitedString(value, ",");//指定分隔符
}
/**
* 從query的字符串中抽取需要的鍵值對存入map中
* query的形式name=god&password=111&method=up
*/
public static Map<String, String> extractMap(String query) {
Map<String, String> map = new HashMap<String, String>();
Properties properties = StringUtils.splitArrayElementsIntoProperties(
StringUtils.delimitedListToStringArray(query, "&"), "=");
if (properties != null) {
for (Object key : properties.keySet()) {
map.put(key.toString(), properties.get(key).toString());
}
}
return map;
}
/**
* 比較兩個(gè)集合是否相等
*/
public static boolean containsAll(Set<String> target, Set<String> members) {
target = new HashSet<String>(target);
target.retainAll(members);//取兩個(gè)集合的交集
return target.size() == members.size();
}
}
以上這篇淺談常用字符串與集合類轉(zhuǎn)換的工具類就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項(xiàng)目啟動(dòng)執(zhí)行任務(wù)的多種方法小結(jié)
這篇文章主要介紹了SpringBoot項(xiàng)目啟動(dòng)執(zhí)行任務(wù)的多種方法小結(jié),本文給大家分享的這幾種方法經(jīng)常會(huì)被用到,當(dāng)我們的項(xiàng)目啟動(dòng)后需要調(diào)用對應(yīng)的方法,用來項(xiàng)目的初始化等,本文通過示例代碼講解的非常詳細(xì),需要的朋友參考下吧2023-07-07
MapStruct處理Java中實(shí)體與模型間不匹配屬性轉(zhuǎn)換的方法
今天小編就為大家分享一篇關(guān)于MapStruct處理Java中實(shí)體與模型間不匹配屬性轉(zhuǎn)換的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
Java通過HttpClient進(jìn)行HTTP請求的代碼詳解
Apache?HttpClient是一個(gè)功能強(qiáng)大且廣泛使用的Java庫,它提供了方便的方法來執(zhí)行HTTP請求并處理響應(yīng)。本文將介紹如何使用HttpClient庫進(jìn)行HTTP請求,包括GET請求、POST請求、添加參數(shù)和請求體、設(shè)置請求頭等操作,需要的朋友可以參考下2023-05-05
Java中三種零拷貝的實(shí)現(xiàn)示例以及對比詳解
這篇文章主要介紹了Java中三種零拷貝的實(shí)現(xiàn)示例以及對比詳解,本文主要是介紹幾種零拷貝的實(shí)現(xiàn)示例,以及與最傳統(tǒng)的做一個(gè)對比,看看在效率上到底有多大的提升,需要的朋友可以參考下2023-12-12
Java注解如何基于Redission實(shí)現(xiàn)分布式鎖
這篇文章主要介紹了Java注解如何基于Redission實(shí)現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
使用Spring的AbstractRoutingDataSource實(shí)現(xiàn)多數(shù)據(jù)源切換示例
這篇文章主要介紹了使用Spring的AbstractRoutingDataSource實(shí)現(xiàn)多數(shù)據(jù)源切換示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlE
這篇文章給大家介紹了在Spring.xml文件中配置mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時(shí)失效問題解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-12-12
解決使用IDEA時(shí)跳轉(zhuǎn)到.class的問題
這篇文章主要介紹了解決使用IDEA時(shí)跳轉(zhuǎn)到.class的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

