Java知识点

1、Hibernate框架mysql数据库id主键自增

1
2
@GeneratedValue(strategy = GenerationType.IDENTITY)
@GenericGenerator(name = "mySeq", strategy = "increment" )

2、Spring Security去掉默认认证

1
2
# spring boot 2.x
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})

3、字符串替换 $ 或者 \

3.1 单个 $ 符号, 使用replace替换 – 能实现替换

1
2
3
4
5
6
7
String singleDollar = "abc$sef";
System.out.println(singleDollar.replace("$", "\\$\\"));
System.out.println(singleDollar.replace("$", "_"));

// 输出结果
abc\$\sef
abc_sef

3.2 多个 $ 符号,使用replaceAll替换 – 未能完成替换

1
2
3
4
5
6
7
String multiDollar = "abc$edf$mgl";
System.out.println(multiDollar.replaceAll("\\\\$", "\\\\$\\\\"));
System.out.println(multiDollar.replaceAll("\\\\$", "_"));

// 输出结果
abc$edf$mgl
abc$edf$mgl

3.3 多个 $ 符号,使用Matcher.quoteReplacement替换 – 完成替换且不需要太多的转义,推荐

1
2
3
4
5
6
7
String multiDollar = "abc$edf$mgl";
System.out.println(multiDollar.replaceAll(Matcher.quoteReplacement("$"), Matcher.quoteReplacement("\\$\\")));
System.out.println(multiDollar.replaceAll(Matcher.quoteReplacement("$"), Matcher.quoteReplacement("_")));

// 输出结果
abc\$\edf\$\mgl
abc_edf_mgl

3.4 单个 $ 符号,使用replace替换 – 完成替换

1
2
3
4
5
6
7
String singleSlash = "abc\\abc";
System.out.println(singleSlash.replace("\\", "\\\\"));
System.out.println(singleSlash.replace("\\", "_"));

// 输出结果
abc\\abc
abc_abc

3.5 多个 $ 符号,使用replaceAll替换 – 可以替换

1
2
3
4
5
6
7
String multiSlash = "abc\\edf\\mgl";
System.out.println(multiSlash.replaceAll("\\\\", "\\\\\\\\"));
System.out.println(multiSlash.replaceAll("\\\\", "_"));

// 输出结果
abc\\edf\\mgl
abc_edf_mgl

3.6 多个 $ 符号,使用Matcher.quoteReplacement替换 – 可以替换,推荐

1
2
3
4
5
6
7
String multiSlash = "abc\\edf\\mgl";
System.out.println(multiSlash.replaceAll(Matcher.quoteReplacement("\\"), Matcher.quoteReplacement("\\\\")));
System.out.println(multiSlash.replaceAll(Matcher.quoteReplacement("\\"), Matcher.quoteReplacement("_")));

// 输出结果
abc\\edf\\mgl
abc_edf_mgl

Java知识点
https://probiecoder.cn/java/common.html
作者
duwei
发布于
2025年4月22日
许可协议