com.qiniu.util.StringUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of qiniu-java-sdk Show documentation
Show all versions of qiniu-java-sdk Show documentation
Qiniu Cloud Storage SDK for Java
package com.qiniu.util;
import com.qiniu.common.Constants;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Collection;
/**
* 字符串连接工具类
*/
public final class StringUtils {
private StringUtils() {
}
/**
* @param array array
* @param sep sep
* @return 拼接后的字符串
* @see #join(Object[] array, String sep, String prefix)
*/
public static String join(Object[] array, String sep) {
return join(array, sep, null);
}
/**
* @param list list
* @param sep sep
* @return 拼接后的字符串
* @see #join(Object[] array, String sep, String prefix)
*/
public static String join(Collection list, String sep) {
return join(list, sep, null);
}
/**
* @param list list
* @param sep sep
* @param prefix 前缀
* @return 拼接后的字符串
* @see #join(Object[] array, String sep, String prefix)
*/
public static String join(Collection list, String sep, String prefix) {
Object[] array = list == null ? null : list.toArray();
return join(array, sep, prefix);
}
/**
* 以指定的分隔符来进行字符串元素连接
*
* 例如有字符串数组array和连接符为逗号(,)
*
* String[] array = new String[] { "hello", "world", "qiniu", "cloud","storage" };
*
* 那么得到的结果是:
*
* hello,world,qiniu,cloud,storage
*
*
*
* @param array 需要连接的对象数组
* @param sep 元素连接之间的分隔符
* @param prefix 前缀字符串
* @return 连接好的新字符串
*/
public static String join(Object[] array, String sep, String prefix) {
if (array == null) {
return "";
}
int arraySize = array.length;
if (arraySize == 0) {
return "";
}
if (sep == null) {
sep = "";
}
if (prefix == null) {
prefix = "";
}
StringBuilder buf = new StringBuilder(prefix);
for (int i = 0; i < arraySize; i++) {
if (i > 0) {
buf.append(sep);
}
buf.append(array[i] == null ? "" : array[i]);
}
return buf.toString();
}
/**
* 以json元素的方式连接字符串中元素
*
* 例如有字符串数组array
*
* String[] array = new String[] { "hello", "world", "qiniu", "cloud","storage" };
*
* 那么得到的结果是:
*
* "hello","world","qiniu","cloud","storage"
*
*
*
* @param array 需要连接的字符串数组
* @return 以json元素方式连接好的新字符串
*/
public static String jsonJoin(String[] array) {
int arraySize = array.length;
int bufSize = arraySize * (array[0].length() + 3);
StringBuilder buf = new StringBuilder(bufSize);
for (int i = 0; i < arraySize; i++) {
if (i > 0) {
buf.append(',');
}
buf.append('"');
buf.append(array[i]);
buf.append('"');
}
return buf.toString();
}
public static boolean isNullOrEmpty(String s) {
return s == null || "".equals(s);
}
public static boolean inStringArray(String s, String[] array) {
for (String x : array) {
if (x.equals(s)) {
return true;
}
}
return false;
}
public static byte[] utf8Bytes(String data) {
return data.getBytes(Constants.UTF_8);
}
public static String utf8String(byte[] data) {
return new String(data, Constants.UTF_8);
}
public static String md5Lower(String src) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("MD5");
digest.update(src.getBytes(Constants.UTF_8));
byte[] md5Bytes = digest.digest();
return Hex.encodeHexString(md5Bytes);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy