/**
* @author admin
* @Description
* 转大写
*/
public class HashMapUpper<V> extends HashMap<String, V> {
/**
* 复写put方法,因为Mybatis底层给Map赋值就是调用的put方法
*
* @param key
* @param value
* @return
*/
@Override
public V put(String key, V value) {
return super.put(key.toUpperCase(), value);
} /**
* 复写get方法
*
* @param key
* @return
*/
@Override
public V get(Object key) {
if (key instanceof String) {
return super.get(((String) key).toUpperCase());
} else {
return super.get(key);
}
}
}

  

/**
* @author admin
* @Description 将下划线转为驼峰格式
*/
public class HashMapToCamel<V> extends HashMap<String, V> { public static final char UNDERLINE = '_'; /**
* 复写put方法,因为Mybatis底层给Map赋值就是调用的put方法
*
* @param key
* @param value
* @return
*/
@Override
public V put(String key, V value) {
return super.put(underlineToCamel(key), value);
} /**
* 复写get方法
*
* @param key
* @return
*/
@Override
public V get(Object key) {
if (key instanceof String) {
return super.get(underlineToCamel(key + ""));
} else {
return super.get(key);
}
} /**
* 将下划线转为驼峰格式
*
* @param param
* @return
*/
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();
} }

  

java map重写 转大写、转驼峰的更多相关文章

  1. java Map常用方法封装

      java Map常用方法封装 CreationTime--2018年7月16日15点59分 Author:Marydon 1.准备工作 import java.util.HashMap; impo ...

  2. Java 阿拉伯数字转换为中文大写数字

    Java 阿拉伯数字转换为中文大写数字 /** * <html> * <body> * <P> Copyright 1994 JsonInternational&l ...

  3. Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名

    每次使用mybatis的时候,简单的连表查询,用Map接收的时候,都是像DB定义的字段一样,类似以下 student_name,student_id,没有转换为驼峰,但是又不能因为这一个定义一个jav ...

  4. 一文搞懂--Java中重写equals方法为什么要重写hashcode方法?

    Java中重写equals方法为什么要重写hashcode方法? 直接看下面的例子: 首先我们只重写equals()方法 public class Test { public static void ...

  5. java Map实现的cache manager

    一个模仿memcached的JAVA虚拟缓存工具,可以缓存java对象 import java.io.ByteArrayInputStream; import java.io.ByteArrayOut ...

  6. 【细说Java】Java的重写与隐藏

    重写与隐藏,有些书上或介绍上可能名称不一样,但都大差不差.以前只了解重写,隐藏也听说过,但没有详细了解过,趁现在,整理一下这两方面的内容吧. 首先,先说一下概念方面的东西. 重写 重写:子类继承了父类 ...

  7. Java map 详解 - 用法、遍历、排序、常用API等

    尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...

  8. java map遍历、排序,根据value获取key

    Map 四种遍历: Map<String,String> map = new HashMap<String, String>(); map.put("one" ...

  9. java方法重写和super关键字

    //java方法重写和super关键字 //在继承中,其实就是子类定义了和父类同名的方法 //就是方法,属性都是相通的 //重写限制: //被子类重写的方法不能拥有比父类方法更加严格的权限 //sup ...

  10. Java 异常 重写抛出异常限制

    1 子类在重写父类抛出异常的方法时,要么不抛出异常,要么抛出与父类方法相同的异常或该异常的子类.如果被重写的父类方法只抛出受检异常,则子类重写的方法可以抛出非受检异常.例如,父类方法抛出了一个受检异常 ...

随机推荐

  1. 镜像问题、简易安装,系统语言更改,中文输入,提高下载速度,Firefox的语言更改,Firefox上网速度慢

    一开始用的镜像不记得是从哪里下载过来的,反正 装好之后分辨率特别低.镜像放在: "D:\迅雷下载\2020大创\Ubuntu\ubuntu-16.04.6-desktop-i386.iso& ...

  2. Java基于ssm师生实验课-实验室-实验设备预约系统源码

    简介 java+ssm开发的实验课实验设备实验室预约系统,老师可预约实验设备和实验室,然后发布实验课和上传实验附件.学生可以报名实验课,也可以自己预约实验室(部分实验室对学生开放)做实验.学生做完实验 ...

  3. HttpClient详细使用示例(转)

    https://blog.csdn.net/justry_deng/article/details/81042379

  4. Centos 7.5 MySql的安装和配置

    一.安装 三个步骤: wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum -y ins ...

  5. Word06 黑客技术office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  6. Flutter开发 备用网站地址

    Flutter开发之环境配置_移动开发_System.o的博客-CSDN博客: https://blog.csdn.net/lyh1299259684/article/details/80505185 ...

  7. git使用采坑-The project you were looking for could not be found 解决方式

    清除本地git账户,重新输入用户名密码(最优) git config --system --unset credential.helper之后再进行git操作时,弹出用户名密码窗口,输入即可 详情如下 ...

  8. 攻防世界Web篇——PHP2

    可以从index.phps中找到网站源码 从源码中得出,要满足admin!=$_GET[id],urldecode($_GET[id]) == admin,两个条件才能得到flag 所以就将admin ...

  9. grub boot kali

    the partition of labled '/' is /dev/sdb8 (eg:(hdb1,gpt8)) linux (hdb1,gpt8)/vmliuz root=/dev/sdb8 in ...

  10. 【STM32】细说TIM的Channels与应用

    寄存器层         1.TIM_Base_Set初始化常用: CR1:TIM control reg 1 该寄存器内容决定定时器计数模式CounterMode.分频比ClockDivision和 ...