首字母大小寫轉換方法
import java.util.Objects;
/**
* <p>Title : StringUtil.java</p>
* <p>Description : 字符串工具類</p>
* <p>DevelopTools : IntelliJ IDEA 2018.2.3 x64</p>
* <p>DevelopSystem : Windows 10</p>
* <p>Company : org.wcy</p>
* @author : WangChenYang
* @date : 2019/2/13 13:10
* @version : 0.0.1
*/
public class StringUtil {
/**
* @Description: 首字母轉小寫
* @Author: 王晨陽
* @LastUpdater: 王晨陽
* @Date: 2020/3/14-12:35
*/
public static String toLowerCaseFirstOne(String s){
if(Character.isLowerCase(s.charAt(0))) {
return s;
}else {
return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
}
}
/**
* @Description: 首字母轉大寫
* @Author: 王晨陽
* @LastUpdater: 王晨陽
* @Date: 2020/3/14-12:35
*/
public static String toUpperCaseFirstOne(String s){
if(Character.isUpperCase(s.charAt(0))) {
return s;
}else {
return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
}
}
}
java 對象複製
所需jar包
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections4.CollectionUtils;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* <p>Title : BeanUtil.java</p>
* <p>Description : 對象操作工具</p>
* <p>DevelopTools : IntelliJ IDEA 2018.2.3 x64</p>
* <p>DevelopSystem : Windows 10</p>
* <p>Company : org.wcy</p>
* @author : WangChenYang
* @date : 2020/5/20 14:07
* @version : 0.0.1
*/
public class BeanUtil {
/**
* @Description: 支持對象間值拷貝(不同類型則以屬性名相同時映射)
* @Author: 王晨陽
* @LastUpdater: 王晨陽
* @Date: 2020/5/20-14:07
*/
public static <T> T copy(Object obj, final Class<T> clz) {
try {
if(Objects.nonNull(obj)) {
Class<?> c = obj.getClass();
Object newObj = c.newInstance();
PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(c);
for(PropertyDescriptor propertyDescriptor:propertyDescriptors) {
String name = propertyDescriptor.getName();
name = StringUtil.toUpperCaseFirstOne(name);
Method get = c.getMethod("get" + name);
Object invoke = get.invoke(obj);
Method set = c.getMethod("set" + name, propertyDescriptor.getPropertyType());
set.invoke(newObj,invoke);
}
//String jsonStr = toJSONStr(newObj);
//if(StringUtils.isEmpty(jsonStr)) {
// return null;
//}else {
// return (T)jsonStr.toCharArray();
//}
return get(clz, newObj);
}
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* @Description: object轉對應class
* @Author: 王晨陽
* @LastUpdater: 王晨陽
* @Date: 2020/5/20-14:20
*/
public static <T> T get(Class<T> clz,Object o) {
if(clz.isInstance(o)){
return clz.cast(o);
}
return null;
}
}