字符串转换的工具类
程序员文章站
2022-05-19 18:54:41
...
一,.将list集合转换为字符串
@Test
public void listToString(){
//将list集合转换为字符串
ArrayList<String> list = new ArrayList<>();
list.add("你好");
list.add("北京");
list.add("*");
//第一个参数需要把集合转换为字符窜 第二个参数是分隔符
String join = StringUtils.join(list.toArray(), "*_*");
System.out.println(join);
}
二,将json类型的字符串可以转化为map对象
使用Gson这个类需要先引入依赖
<!--gson-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
@Test
public void stringToMap(){
//将json类型的字符串可以转化为map对象,然后取值
String str = "{name:xiaoming,age:18,address:beijing}";
Gson gson = new Gson();
HashMap hashMap = gson.fromJson(str, HashMap.class);
Object name = hashMap.get("name");
Object age = hashMap.get("age");
Object address = hashMap.get("address");
System.out.println("name:"+name+" age:"+age+" address:"+address);
}
三,拼接字符串时,如果字符串太长,可以使用占位符的方式 %相当于数据库语句里面的 ?(占位符)
示例如下:调用微信接口登录时需要传递固定地址和参数
@Test
public void genQrConnection() {
//定义微信生成二维码固定地址
String baseUrl = "https://open.weixin.qq.com/connect/qrconnect" +
// %S 就是提前声明一个占位符
"?appid=%s" +
"&redirect_uri=%s" +
"&response_type=code" +
"&scope=snsapi_login" +
"&state=%s" +
"#wechat_redirect";
try {
//redirecturl地址进行urlEncode编码
String redirectUrl = ConstantWxUtils.WX_OPEN_REDIRECT_URL;
redirectUrl = URLEncoder.encode(redirectUrl, "utf-8");
String state = "snow"; //配置内网穿透的前置域名
//向 %s 位置传递参数值
String formatUrl = String.format(
baseUrl,//第一个参数:带有占位符的字符串
ConstantWxUtils.WX_OPEN_APP_ID,
redirectUrl,
state
);
System.out.println(formatUrl);
//重定向到拼接好的地址里面
//return "redirect:"+formatUrl;
} catch (Exception e) {
}
}
上一篇: trie树
下一篇: 常见数据结构与算法题