微神-day25

2021-06-22 19:32发布

1.Stream常用的一些方法


方法的名称

方法的说明

是否是延迟方法

void forEach(Consumer<? super T> action)

遍历Stream中的元素

Stream<T> filter(Predicate<? super T> predicate)

对Stream中的元素进行过滤

<R> Stream<R> map(Function<? super T,? extends R> mapper)

对Stream中的元素进行转换

long count()

返回的是Stream中元素的个数

Stream<T> skip(long n)

跳过n前面的数据 获取n后面的数据

Stream<T> limit(long maxSize)

获取的是maxSize前面的数据

static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)

将两个流合拼成一个Stream流


2.Junit

1.Junit 主要用于来进行测试 主要用于做局部测试 方便快速去查找bug

2.测试:

    黑盒测试: 就是功能测试与接口测试

    白盒测试: 性能测试 需要写指令 shell脚本  

3.Junit 进行局部测试 开发人员需要对代码进行局部测试

4.Junit 使用的步骤

   (1) 在项目中引入Junit jar

   (2) 定义一个类 定义一个方法

       方法的访问修饰符        public

       方法的返回值类型只能使用void

       方法一般不传递参数       ()

   (3) 在方法写注解 @Test

   (4) 直接运行方法

 

3.反射概念

1.反射是所有框架灵魂 所有的框架都使用反射技术 在反射面所有类都是裸体(私有 公有)

2.框架:半成品  大部分的企业都在实际开发中都推荐使用框架  使用框架进行开发 效率高  成本低

3.框架:分布式的解决方案:

       ssm+ doubb  spring  springmvc + mybatis + doubb (第一套)(放弃)

       springboot+springcloud(第二套)

4.反射机制: 将类的各个部分 封装成一个新的对象(Class对象) 就是反射机制5.反射获取的私有构造/方法/属性 可以通过setAccessible()暴力反射 强制去除私有化


4.反射中获取Class对象

1.第一种 通过类名.class 进行获取(重要)

2.第二种 通过对象名.class进行获取

3.第二种 通过完成的包名+类名来进行加载(重点)


5.反射获取构造方法


方法的名称

方法的说明

public Constructor<?>[] getConstructors()

获取所有公有的构造方法

public Constructor<?>[] getDeclaredConstructors()

返回的所有的构造方法(包括公有与私有)

public Constructor<T> getConstructor(Class<?>... parameterTypes)

获取指定的公有的构造方法

public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)

获取单个私有的构造方法

 

1)构造方法如果需要参数 Class<?>... parameterTypes指的是参数类型的class

2)构造方法.newInstance()可以实例化对象

 

6.反射获取普通成员方法


方法的名称

方法的说明

public Method[] getMethods()

获取所有公有的方法(包含父类公有的方法)

public Method[] getDeclaredMethods()

获取所有的方法(包括私有的)

public Method getMethod(String name, Class<?>... parameterTypes)

获取指定公有的方法

public Method getDeclaredMethod(String name, Class<?>... parameterTypes)

获取单个私有的方法

 

1)普通方法如果需要参数 Class<?>... parameterTypes指的是参数类型的class

2)方法.invoke(对象,参数);可以调用方法


7.反射中获取成员变量


方法的名称

方法的说明

public Field[] getFields()

获取所有公有的属性

public Field[] getDeclaredFields()

获取所有的属性(包括私有的)

public Field getField(String name)

获取单个公有的属性

public Field getDeclaredField(String name)

获取单个公有与私有属性

 

1)属性.set(对象,参数)可以给该对象的属性赋值

2)属性.set(对象)可以获得该对象的属性值