java学习记录
小小小楚楚
不学控制枉少年
展开
-
java泛型设计
泛型设计目的 省去运行时期类型检查的麻烦,在编译期即可解决 比如: ArrayList files = new ArrayList(); . . . String filename = (String) files.get(0); 或者add 操作等 显示包含的类型 需要很多强制转化的地方最好用泛型 类型检查的工作全部交给了编译器 unchecked warning 对于兼容以前的类型,比如Dictory 可以使用 Dictionary<Integer, Components> labelT原创 2021-12-17 20:52:57 · 681 阅读 · 0 评论 -
泛型类不允许创建为数组
泛型类不允许申明为数组的原因在于: 如果可行的话,以下语法可以通过 Pair table=new Pair[10] Object[] objArray=table objArray[0]=new Pair 1.类型擦除会将原本定义的 String擦除掉 2.我们将新的类转化为Object[] 3.Object只检查是不是Pair类,并不会检查是否符合要求,因为此时已经发生了类型擦除,编译器也不能知道以前T的信息 ...原创 2021-11-27 09:58:45 · 284 阅读 · 0 评论 -
try catch推荐写法
原创 2021-11-24 16:04:10 · 190 阅读 · 0 评论 -
Lambda表达式理解
实现: public class LambdaTest { @FunctionalInterface interface IMath{ int operation(int a, int b); } int testLambda(IMath lambdaTest, int a , int b) { return lambdaTest.operation(a,b); } public static void ma原创 2021-11-23 16:31:48 · 177 阅读 · 0 评论 -
JVM 堆,栈,虚拟机的理解
堆 理解成动态生成对象的地方 对象原型放这里 栈 理解成程序运行的地方 放程序的东西,程序中运行的int i,byte b等这些小的东西,作为定长的单位(基础数据类型)直接在栈里面生成 对象的话,new操作个人理解只是告诉编译器你去堆里面给我生成个东西,后面我就拿这个东西(地址&引用)继续操作 因此栈里面存了一些程序里面看得到的基本数据类型或者对象引用等 方法区 放了一些类的定义等 ...原创 2020-08-11 10:50:27 · 89 阅读 · 0 评论