首页 > 数据库 > 数据库开发技术 > 7个常见Java坑,99%的程序员都会踩!





1. replace会替换所有匹配字符吗?
String input = "Java is fun, Java is cool";String output = input.replace("Java", "Python");System.out.println(output); // Python is fun, Python is cool
String input = "Java is fun, Java is cool";String output = input.replaceAll("\\bJ\\w+", "Python");System.out.println(output); // Python is fun, Python is cool
2. Integer不能用==判断相等?
Integer num1 = new Integer(100);Integer num2 = new Integer(100);System.out.println(num1 == num2); // false
System.out.println(num1.equals(num2)); // trueInteger num1 = 100;Integer num2 = 100;System.out.println(num1 == num2); // true
3. 使用BigDecimal
就能避免精度丢失?
BigDecimal value = new BigDecimal(0.1);System.out.println(value); // 0.1000000000000000055511151231257827021181583404541015625
BigDecimal value = BigDecimal.valueOf(0.1);System.out.println(value); // 0.1
4. 字符串拼接不能用String?
StringBuilder sb = new StringBuilder();sb.append("Java").append(" ").append("is").append(" ").append("fun");System.out.println(sb.toString()); // Java is fun
StringBuffer sb = new StringBuffer();sb.append("Java").append(" ").append("is").append(" ").append("fun");System.out.println(sb.toString()); // Java is fun
5. isEmpty与isBlank的区别?
String str1 = " ";System.out.println(str1.isEmpty()); // falseSystem.out.println(str1.isBlank()); // true
6. Mapper查询结果如何判空?
List<User> users = userMapper.findUsers();if (users == null || users.isEmpty()) {// 处理为空的情况}
这种方式可以避免NullPointerException并确保逻辑的正确性。
7. indexOf方法的正确使用?
String str = "Hello, world!";int index = str.indexOf("world");if (index >= 0) {System.out.println("Found at index: " + index);} else {System.out.println("Not found");}
这种方法简单有效,但要确保目标字符串不为null,避免NullPointerException。










- End -
原文作者:IT枫斗者;如有侵权,请联系管理员删除。