Java 中的恍然大悟
数组与集合最大的区别
- 数组里既可以装8钟基本数据类型,还可以装包装类型。
- 集合里只能装包装类型
集合工具类给你封装了排序方法java.util.Collections.sort()
如果你如标题这么认为,那你就错了,其实它底层用的是你要排序集合的内置排序方法。
package java.util;
public class Collections {
public static <T> void sort(List<T> list, Comparator<? super T> c) {
list.sort(c);
}
}
lombok框架存在运行时兼容性问题
如果谁告诉你 Lombok 框架,不能在项目中用,因为它可能在运行时存在不兼容性问题,你直接可怼他对 Lombok 的生命周期不了解。
package lombok;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
String staticConstructor() default "";
}
它的生命周期在源代码编译成字节码时,就结束了,所以根本不会活到运行时期,那怎么产生兼容性问题呢?
StringBuffer给你封装了复杂的线程安全方法
如果认为StringBuffer
类给你封装了复杂高级的线程安全方法,而 StringBuilder 不安全不高级,那你就错了。他其实就是在 StringBuilder 的基础上给操作方法添加synchronized
修饰而已。
源码:
@Override
public synchronized int length() {
return count;
}
标签:lang,java,恍然大悟,annotation,Java,兼容性问题,import,public
From: https://www.cnblogs.com/okbuok/p/17233934.html