我的工具类

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) {
        //前端偶有传undefined
        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();
            // 遍历jsonObject数据,添加到Map对象
            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();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值