target 已经设成 8,javap 也显示 major version: 52,为什么代码里还能调用 Java 11 才提供的 String.isBlank()? 因为类文件格式和类库 API 是两项检查。先把这个反例编译出来,再回到 Spring Boot 的 POM 看配置,几个属性的作用就清楚了。 52 对应 Java 8 的类文件格式;后面那 ...