- 博客(4)
- 收藏
- 关注
原创 Java泛型
编译后的程序将不再带有泛型,泛型只在编译检查阶段使用,保证运行时能够安全运行,因此没必要将泛型保留到运行阶段,所有的泛型都将使用泛型上限类型取代,例如,<T>泛型类和泛型方法中,所有的T引用将使用Object进行取代、<T extends Human>则使用Human取代。extends Human>作为参数类型的方法都能用Human进行代替,因此上限通配符并不适合作为方法的参数类型来使用,只能用作引用类型。其中R、E为泛型方法中的参数类型,普通类中也可以声明泛型方法。对于getFirst,得到的对象。
2023-05-17 12:47:39
104
1
原创 lambda和stream
reduce:对所有元素进行求“和”运算,返回OptionalT类型,传入一个BinaryOperator接口,接口方法接收两个T参数,返回T类型,表示两个元素的运算结果。Java中所有的参数都以类的形式进行传递,不能直接传递一个代码块,比如,在调用sort方法时,我们需要程序如何比较数组中的元素,因此sort需要提供一个实现了Comparator接口的类,该实现类只需要实现一个compare方法,但如果仅仅只是为了实现一个方法而创建一个全新的类,未免有些臃肿和麻烦,因此,提供了 lambda表达式。
2023-05-12 00:38:23
114
1
原创 控制反转IoC和依赖注入DI
在编程时,需要面向抽象(父类、接口)编程,一个类依赖的其他类需要是抽象的,而当程序运行时必须为这些抽象类指定具体的实现类的实例对象,而当这个实例对象需要更改的时候,往往要改动多处代码,为了提高编程的灵活度、解耦合,提供了依赖注入这么个方式。控制反转,意思就是原本开发者可以自由设计程序结构和具体实现,以及各个变量的管理方式,但是这些现在全都交给框架来控制了。原本开发者是根据下层类设计上层类,现在反过来了,由框架来设计上层类,并暴露出上层类所依赖的抽象接口,开发者需要提供实现这些接口的下层类。
2023-05-11 23:35:44
104
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人