java對字串相關操作方法
阿新 • • 發佈:2018-11-27
maven:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.0.0</version>
</dependency>
java:
import java.math.BigDecimal; import java.math.RoundingMode; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Date; import java.util.Enumeration; import java.util.Random; import java.util.regex.Matcher; import java.util.regex.Pattern; import cn.hutool.core.date.DateUtil; /** * 字串工具類 */ public class StringUtil { public static String IP = getIp(); /** * 驗證字串是否為數字 */ public static boolean isNumeric(String str) { Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if (!isNum.matches()) { return false; } return true; } /** * 驗證是否為空 */ public static String checkIsNull(String name, Object value) throws NullPointerException { if (value == null || "".equals(value)) { throw new NullPointerException("欄位[" + name + "]不能為空."); } return String.valueOf(value); } // 判斷是否為NULL,如果為NULL則返回"" public static String strFormatNull(Object object) { if (object == null) { return ""; } // 如果object為null, String.toString()會報錯. String.valueOf()返回字串NULL return String.valueOf(object); } // 判斷是否為NULL,如果為NULL則返回"" public static int strFormatInt(Object object) { if (object == null || "".equals(object)) { return 0; } return Integer.valueOf(object.toString()); } // 判斷是否為NULL,如果為NULL則返回"" public static double strFormatDouble(Object object) { if (object == null || "".equals(object)) { return 0; } return Double.valueOf(object.toString()); } // 對double保留兩位小數 public static double formatDouble2(double d) { BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP); return bg.doubleValue(); } public static String getOrderNo(){ return DateUtil.format(new Date(), "yyyyMMddHHmmss") + getRandomNum(6); } /** * 獲取隨機數 */ private static final String RANDOM_BASE = "0123456789"; public static String getRandomNum(int length){ int randomNum; char randomChar; Random random = new Random(); StringBuffer str = new StringBuffer(); for (int i = 0; i < length; i++) { randomNum = random.nextInt(RANDOM_BASE.length()); randomChar = RANDOM_BASE.charAt(randomNum); str.append(randomChar); } return str.toString(); } /** * 獲取隨機字串 */ private static final String BASE = "abcdefghijklmnopqrstuvwxyz0123456789"; public static String getRandomStr(int length) { int randomNum; char randomChar; Random random = new Random(); StringBuffer str = new StringBuffer(); for (int i = 0; i < length; i++) { randomNum = random.nextInt(BASE.length()); randomChar = BASE.charAt(randomNum); str.append(randomChar); } return str.toString(); } /** * 獲取本機IP: 支援windows&linux */ @SuppressWarnings("rawtypes") private static String getIp() { Enumeration allNetInterfaces; try { allNetInterfaces = NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement(); Enumeration addresses = netInterface.getInetAddresses(); while (addresses.hasMoreElements()) { ip = (InetAddress) addresses.nextElement(); if (ip != null && ip instanceof Inet4Address) { if (!"127.0.0.1".equals(ip.getHostAddress())) { return ip.getHostAddress(); } } } } } catch (SocketException e) { } return "127.0.0.1"; } public static String getAddress() { return IP; } }