![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
假笑骑士
If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do, you have to keep moving forward.
展开
-
java 的泛型擦除与 TypeToken
来自Retrofit 源码的一个疑问public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user);}查看反编译 后的class 文件:import retrofit2.Call;publi...原创 2020-03-24 00:45:14 · 456 阅读 · 0 评论 -
Java Type 类型详解
Type和泛型的关系Java 5以后加入了泛型特性,关于泛型的类型是什么?就用用到Type 类来解释。package java.lang.reflect;public interface Type { default String getTypeName() { return this.toString(); }}Type 有4个子接口TypeVar...原创 2020-03-23 16:47:07 · 490 阅读 · 1 评论 -
java 深拷贝和浅拷贝
浅拷贝一般步骤:一、被复制的类需要实现Clonenable接口(不实现的话在调用clone方法会抛出CloneNotSupportedException异常), 该接口为标记接口(不含任何方法)二·、覆盖clone()方法,访问修饰符设为public。方法中调用super.clone()方法得到需要的复制对象。(native为本地方法)在浅克隆中,如果原型对象的成员变量是值类型,将复制一份...原创 2019-12-15 23:11:05 · 71 阅读 · 0 评论 -
java8 Stream 使用示例
/*** * java 8 的 Stream 使用到了 哪些 函数接口 ? * */public class JavaStreamTest { /*** * stream 的常见操作 * 操作分为 中间 操作和最终操作 * 中间操作得到的还是一个流 * 要想得到我们想要的结果 ,如输入, 装入一个集合 ,计算个数 ,就需要最终操作。 ...原创 2019-11-14 12:41:41 · 98 阅读 · 0 评论 -
java 8 方法引用使用介绍
/*** * * java 中 lambda 表达式的类型 是函数接口类型 : FunctionalInterface * 接口的 抽象方法 的参数 和返回值就是 Lambda 表达式的 参数和 返回类型 * * -> 分割函数的参数和 函数体。 单行的函数体可以省略大括号 * 由于类型可以推断,可以省略参数类型 * * 情况一 : 参数为空 ,括号不可以省略。 例...原创 2019-11-13 10:56:07 · 140 阅读 · 0 评论 -
LinkedHashMap Q&A
LinkedHashMap 在初始化的时候,有两种使用模式插入顺序 ,遍历时,按照put顺序输出访问顺序,这种情况下是否会扩容 ????当处于访问顺序模式的时候,什么情况下会删除eldest 元素。HashMap 是无序的 。那么LinkedHashMap 是如何保持有序的HashMap 以拉链法处理冲突, 数组下标对应的是 元素的hash 值 对数组长度的求余。LinkedHa...原创 2019-10-14 16:58:13 · 137 阅读 · 0 评论 -
java 的泛型和类型擦除
一、什么是泛型泛型 ,它只在程序源码中存在,在编译后的字节码文件中,就已经被替换为原来的原生类型(Raw Type,也称为裸类型)了,并且在相应的地方插入了强制转型代码,因此对于运行期的Java语言来说,ArrayList与ArrayList就是同一个类。所以说泛型技术实际上是Java语言的一颗语法糖,Java语言中的泛型实现方法称为类型擦除,基于这种方法实现的泛型被称为伪泛型。二、什么是...原创 2019-09-24 09:38:48 · 274 阅读 · 0 评论 -
java String 总结
String 对象的创建方式有哪几种使用String 的构造方法 (Android 中重写了构造方法,会Throw Exception)使用 = “abc” 的方式使用字符串连接符+和其余字符串进行拼接创建String s = new String(“abc”) 创建了几个对象先在常量池中创建一个字符串"abc" 对象 假设不存在的话, 然后在 java 堆中创建一个String 对...原创 2019-09-17 11:17:57 · 65 阅读 · 0 评论