💩 改善代码, 通过 P3C 校验

This commit is contained in:
zhaojun1998
2019-12-21 12:08:24 +08:00
parent 0e6bcbfa11
commit 8e7d4432a3
58 changed files with 239 additions and 102 deletions

View File

@@ -1,13 +1,23 @@
package im.zhaojun.common.util;
/**
* @author zhaojun
*/
public class StringUtils {
public static final char DELIMITER = '/';
public static final String HTTP_PROTOCAL = "http://";
public static final String HTTPS_PROTOCAL = "https://";
/**
* 移除 URL 中的第一个 '/'
* @return 如 path = '/folder1/file1', 返回 'folder1/file1'
*/
public static String removeFirstSeparator(String path) {
if (!"".equals(path) && path.charAt(0) == '/') {
if (!"".equals(path) && path.charAt(0) == DELIMITER) {
path = path.substring(1);
}
return path;
@@ -18,14 +28,14 @@ public class StringUtils {
* @return 如 path = '/folder1/file1/', 返回 '/folder1/file1'
*/
public static String removeLastSeparator(String path) {
if (!"".equals(path) && path.charAt(path.length() - 1) == '/') {
if (!"".equals(path) && path.charAt(path.length() - 1) == DELIMITER) {
path = path.substring(0, path.length() - 1);
}
return path;
}
public static String concatUrl(String path, String name) {
return removeDuplicateSeparator("/" + path + "/" + name);
return removeDuplicateSeparator(DELIMITER + path + DELIMITER + name);
}
@@ -36,11 +46,11 @@ public class StringUtils {
* @return URL
*/
public static String concatPath(String domain, String path) {
if (path != null && path.length() > 1 && path.charAt(0) != '/') {
path = '/' + path;
if (path != null && path.length() > 1 && path.charAt(0) != DELIMITER) {
path = DELIMITER + path;
}
if (domain.charAt(domain.length() - 1) == '/') {
if (domain.charAt(domain.length() - 1) == DELIMITER) {
domain = domain.substring(0, domain.length() - 2);
}
@@ -54,16 +64,16 @@ public class StringUtils {
StringBuilder sb = new StringBuilder();
if (path.indexOf("http://") == 0) {
sb.append("http://");
} else if (path.indexOf("https://") == 0) {
sb.append("https://");
if (path.indexOf(HTTP_PROTOCAL) == 0) {
sb.append(HTTP_PROTOCAL);
} else if (path.indexOf(HTTPS_PROTOCAL) == 0) {
sb.append(HTTPS_PROTOCAL);
}
for (int i = sb.length(); i < path.length() - 1; i++) {
char current = path.charAt(i);
char next = path.charAt(i + 1);
if (!(current == '/' && next == '/')) {
if (!(current == DELIMITER && next == DELIMITER)) {
sb.append(current);
}
}
@@ -75,5 +85,7 @@ public class StringUtils {
return s == null || "".equals(s);
}
public static boolean isNotNullOrEmpty(String s) {
return !isNullOrEmpty(s);
}
}