java?map的key值轉(zhuǎn)駝峰命名的方法
更新時間:2023年12月04日 08:58:46 作者:寒冷的雨呢
這篇文章主要介紹了java?map的key值轉(zhuǎn)駝峰,通過實例代碼介紹了Map把“_”形式的key轉(zhuǎn)化為駝峰形式,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
java map的key值轉(zhuǎn)駝峰
MPJLambdaWrapper<Entity> wrapper = new MPJLambdaWrapper<Entity>(); baseMapper.selectJoinMaps(wrapper).stream().map(MapUtil::toCamelCaseMap).collect(Collectors.toList());
List<Map<String, Object>> getList(DateAndAreaDto dateAndAreaDto);
return Result.success(scaleoperateMapper.getList(dateAndAreaDto)
.stream()
.map(MapUtil::toCamelCaseMap) map.stream()
.map(MapUtil::toCamelCaseMap)
.collect(Collectors.toList())Java 把map的key轉(zhuǎn)換成駝峰命名
需求:將map里的key轉(zhuǎn)換為駝峰命名,并返回
package com.enation.app.javashop.framework.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* map工具類
*
* @author
* @date 2021/8/31 12:57
*/
public class MapUtils {
/**
* 把map的key轉(zhuǎn)換成駝峰命名
*
* @param map
* @return map
*/
public static Map<String, Object> toReplaceKeyLow(Map<String, Object> map) {
Map<String, Object> reMap = new HashMap<>();
if (reMap != null) {
Iterator var2 = map.entrySet().iterator();
while (var2.hasNext()) {
Entry<String, Object> entry = (Entry) var2.next();
reMap.put(underlineToCamel((String) entry.getKey()), map.get(entry.getKey()));
}
map.clear();
}
return reMap;
}
public static final char UNDERLINE = '_';
public static String underlineToCamel(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (c == UNDERLINE) {
if (++i < len) {
sb.append(Character.toUpperCase(param.charAt(i)));
}
} else {
sb.append(Character.toLowerCase(param.charAt(i)));
}
}
return sb.toString();
}
}Map把“_”形式的key轉(zhuǎn)化為駝峰形式
常見與數(shù)據(jù)庫獲取數(shù)據(jù),key為字段名
package com.neusoft.modules.generator.handler;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.lang.StringUtils;
/**
* map工具類
*
* @author
* @date 2021/8/31 12:57
*/
public class MapUtil {
/**
* 把map的key轉(zhuǎn)換成駝峰命名
*
* @param map
* @return map
*/
public static Map<String, String> toReplaceKeyLow(Map<String, String> map) {
if(null == map)
return null;
Map<String, String> reMap = new HashMap<>();
if (reMap != null) {
Iterator var2 = map.entrySet().iterator();
while (var2.hasNext()) {
Entry<String, String> entry = (Entry) var2.next();
String value= String.valueOf(map.get(entry.getKey()));
if(value.indexOf("0E-")!=-1)
{
value = "0";
}
if(value.equals("null"))
{
value = "";
}
//將小數(shù)后面的“0”去掉,保留2位小數(shù)
if(validateNumber(value))
{
// System.out.println("value = " +value);
DecimalFormat decimalFormat = new DecimalFormat("###.##");
// String str = value.substring(0,5);
// if (str.equals("0.005")) {
// value = "0.01";
// } else {
value = decimalFormat.format(Float.valueOf(value).floatValue());
// }
}
reMap.put(underlineToCamel((String) entry.getKey()),value);
}
map.clear();
}
return reMap;
}
public static final char UNDERLINE = '_';
public static String underlineToCamel(String param) {
if (param == null || "".equals(param.trim())) {
return "";
}
int len = param.length();
StringBuilder sb = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = param.charAt(i);
if (c == UNDERLINE) {
if (++i < len) {
sb.append(Character.toUpperCase(param.charAt(i)));
}
} else {
sb.append(Character.toLowerCase(param.charAt(i)));
}
}
return sb.toString();
}
public static <T> List<T> deepCopy(List<T> src)
throws IOException, ClassNotFoundException
{
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(src);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
return (List<T>)in.readObject();
}
//判斷該數(shù)據(jù)是否為小數(shù)形式
private static boolean validateNumber(String str) {
if(StringUtils.isBlank(str)||str.indexOf(".")==-1) {
return false;
}
// 說明一下的是該正則只能識別4位小數(shù);如果不限制小數(shù)位數(shù)的話,寫成[+-]?[0-9]+(\\.[0-9]+)?就可以了
return str.matches("[+-]?[0-9]+(\\.[0-9]+)?");
}
}到此這篇關(guān)于java map的key值轉(zhuǎn)駝峰的文章就介紹到這了,更多相關(guān)java map的key值轉(zhuǎn)駝峰內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼問題的幾種方法
本篇文章主要介紹了解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼問題的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
Spring實戰(zhàn)之設(shè)置普通屬性值的方法示例
這篇文章主要介紹了Spring實戰(zhàn)之設(shè)置普通屬性值的方法,結(jié)合實例形式分析了Spring設(shè)置普通屬性值的方法及相關(guān)操作注意事項,需要的朋友可以參考下2019-11-11
關(guān)于Spring MVC同名參數(shù)綁定問題的解決方法
Spring MVC中的參數(shù)綁定還是蠻重要的,最近在使用中遇到了同名參數(shù)綁定的問題,想著總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于Spring MVC同名參數(shù)綁定問題的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
Java C++題解leetcode886可能的二分法并查集染色法
這篇文章主要為大家介紹了Java C++題解leetcode886可能的二分法并查集染色法實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

