1、字符串替换:
示例:
String place = "abc<abc$abc";
String pr = place.replace("<", "_");
String ps = pr.replace("$", "_");
System.out.println(ps); //abc_abc_abc
2、整数数字正则表达式校验:
示例:
String num = "-9513256457521440";
boolean isInt = Pattern.compile("^-?[1-9]\\d*$").matcher(num).find();
System.out.println(isInt); //true
String num = "-951325521440.32";
boolean isInt = Pattern.compile("^-?[1-9]\\d*$").matcher(num).find();
System.out.println(isInt); //false
3、URLEncoder转码:
//URLEncoder进行编码
String encoderUrl = "https://mp.weixin.qq.com/";
String url = URLEncoder.encode(encoderUrl, "UTF-8");
//可以在线编码验证是否正确:https://meyerweb.com/eric/tools/dencoder/
if ("http%3A%2F%2Fwww.abc.com%2FWechat%2Findex%2FloginInit.do".equals(url)) {
System.out.println("相等。。。。");
}
System.out.println(url);
//URLDecoder进行解码
String decoderUrl = URLDecoder.decode("https%3A%2F%2Fmp.weixin.qq.com%2F", "UTF-8");
System.out.println(decoderUrl);
}
4、jdk1.8 & jdk1.7 获取当时时间以及格式化:
jdk 1.7:
//获取当前日期+时间 格式 1.7 Fri Aug 30 14:33:44 CST 2019
Date date2 = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println(df.format(date2)); //2019-08-30 14:33:44.332
jdk 1.8:
//获取当前日期+时间 格式 2019-08-30T14:33:44.332
LocalDateTime datetime = LocalDateTime.now();
DateTimeFormatter dft = DateTimeFormatter.ofPattern("uuuu-MM-dd' 'HH:mm:ss");
//2019-08-30 14:33:44
//获取当前日期 格式 2019-08-30
LocalDate date = LocalDate.now();
//获取当前时间 格式 14:33:44.332
LocalTime time = LocalTime.now();
5、jdk1.8 Base64 加密解密:
String str = "TestBase64";
String encryption = Base64.getEncoder().encodeToString(str.getBytes(StandardCharsets.UTF_8));
System.out.println("加密 = "+encryption);
String decrypt = new String(Base64.getDecoder().decode(encryption),StandardCharsets.UTF_8);
System.out.println("解密 = "+ decrypt);
6、打印对象内存地址
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
String s3 = s1 + s2;
String s4 = "helloworld";
System.out.println(s3==s4);
System.out.println(s3.equals(s4));
System.out.println("s3 hashCode值 = " + s3.hashCode());
System.out.println("s4 hashCode值 = " + s4.hashCode());
System.out.println("s3 内存地址 = " + System.identityHashCode(s3));
System.out.println("s4 内存地址 = " + System.identityHashCode(s4));
}
s3和s4的hashCode一样,但是内存地址不一样。
由此可知,要想获取对象的内存地址应使用System.identityHashCode()方法。