StringUtil.java
package com.my.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.wlqq.cloud.compoment.releasemanage.vo.PortMetadataVo;
/**
* 包含常用工具方法
*
* @author
* @version 1.0 2013-2-26
*/
public class StringUtil {
/**
* 判断是否为空
*
* @param str
* @return
*/
public static boolean isEmpty(String str) {
return null == str || str.trim().length() == 0 || str.equals("undefined");
}
/**
* 数组的Join方法
*
* @param obj
* @param sep
* @return
*/
public static String join(Object[] obj, String sep) {
if (obj == null) {
return null;
}
final int length = obj.length;
if (length == 0) {
return "";
}
final StringBuilder sb = new StringBuilder().append(obj[0]);
for (int i = 1; i < length; i++) {
sb.append(sep).append(obj[i]);
}
return sb.toString();
}
/**
* 生成随机的uuid 36位 带-
* @return
*/
public static String createRandomUuid(){
return UUID.randomUUID().toString();
}
/**
* 从一个json string转换成map对象
*
* @param jsonStr
* @return
*/
public static Map<String, Object> json2Map(String jsonStr) {
try {
Map<String, Object> map = new HashMap<>();
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
Iterator<String> it = jsonObject.keySet().iterator();
while (it.hasNext()) {
String key = String.valueOf(it.next());
map.put(key, jsonObject.get(key));
}
return map;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 转换首字母大写
*
* @param str
* @return
*/
public static String firstUpper(String str) {
final String s = (str.charAt(0) + "").toUpperCase();
return s + str.substring(1);
}
/**
* 格式化mac地址按没两位分割
*
* @param mac
* 需要格式化的mac地址
* @param sep
* 分隔符 ":"或者" "等
* @return
*/
public static String formatMac(String mac, String sep) {
if (Assert.isEmpty(mac)) {
return "";
}
mac = mac.replaceAll("[^a-zA-Z0-9]", "");
final StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length(); i += 2) {
sb.append(mac.substring(i, i + 2) + sep);
}
return sb.substring(0, sb.length() - sep.length());
}
/**
* 字符串trim操作
*
* @param str
* @return
*/
public static String trim(String str) {
return str != null ? str.trim() : null;
}
public static String covertToUTF8(String str) {
if (str == null) {
return str;
}
try {
return new String(str.getBytes("ISO-8859-1"), "UTF-8");
} catch (final UnsupportedEncodingException e) {
}
return str;
}
public static String covertToGBK(String str) {
if (str == null) {
return str;
}
try {
return new String(str.getBytes("ISO-8859-1"), "GBK");
} catch (final UnsupportedEncodingException e) {
}
return str;
}
public static String getRemoteHost(javax.servlet.http.HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ip;
}
public static <T> boolean contains(final T[] array, final T v) {
for (final T e : array)
if (e == v || v != null && v.equals(e))
return true;
return false;
}
/**
* 根据JSONArray String获取到List
* @param <T>
* @param <T>
* @param jArrayStr
* @return
*/
public static <T> List<T> getListByArray(Class<T> class1,String jArrayStr) {
List<T> list = new ArrayList<>();
JSONArray jsonArray = JSONArray.parseArray(jArrayStr);
if (jsonArray==null || jsonArray.isEmpty()) {
return list;
}
for (Object object : jsonArray) {
JSONObject jsonObject = (JSONObject) object;
T t = JSONObject.toJavaObject(jsonObject, class1);
list.add(t);
}
return list;
}
/**
* 根据List获取到对应的JSONArray
* @param list
* @return
*/
public static JSONArray getJSONArrayByList(List<?> list){
JSONArray jsonArray = new JSONArray();
if (list==null ||list.isEmpty()) {
return jsonArray;
}
for (Object object : list) {
jsonArray.add(object);
}
return jsonArray;
}
public static String toUtf8(String str){
if (str==null) {
return null;
}
try {
String string = URLDecoder.decode(str, "UTF-8");
return string;
} catch (UnsupportedEncodingException e) {
return null;
}
}
/**
* 对象转JSONObject
* @param object
* @return
*/
public static JSONObject object2JSON(Object object){
try {
return JSONObject.parseObject(JSONObject.toJSONString(object));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* main方法 用于测试
* @param args
*/
public static void main(String args[]) {
List<PortMetadataVo> portMetadataVos = getListByArray(PortMetadataVo.class, null);
for(PortMetadataVo portMetadataVo : portMetadataVos){
portMetadataVo.getDomain();
}
}
}