#博学谷it学习技术支持#黑马头条遇到问题及解决1
目录:
1.在网关中如何在request中获取header?
2.若前端不报错,后端也不报错,但返回给前端的页面内容不对,或者没返回任何内容,此时应该去找构造查询判断非空是否有出错!!!
3.stream流的使用
4.当导入依赖,刷新依赖后依旧爆红
5. @NoArgsConstructor
6. 注释的和没注释的效果不是一样的吗,为什么下面的这种写法会报空指针异常?
7. StringBuilder用法
8. Arrays.asList的作用是将括号中的数据转化为list
正文:
1.在网关中如何在request中获取header?
在过滤器中值提供request 读(read)的操作,不支持写入的操作,此时可通过链式编程的方法进行写入
在过滤器中通过request获取链式编程(mutate),然后再获取到所有的请求头,将id内容信息存储到header中
2.若前端不报错,后端也不报错,但返回给前端的页面内容不对,或者没返回任何内容,此时应该去找构造查询判断非空是否有出错!!!
3.stream流的使用
stream.limit用法
4.当导入依赖,刷新依赖后依旧爆红
解决:本次是因为未联网,导致依赖下载一般未下载完全,解决是应找到maven仓库对应的文件夹,将为下载完全的依赖删除,在IDEA中清理IDEA的缓存,再在对应maven中刷新即可解决。
5. @NoArgsConstructor
作用于类,生成一个无参构造方法,加载实体类上,使实体类可成为一个构造方法
6. 注释的和没注释的效果不是一样的吗,为什么下面的这种写法会报空指针异常?
因为没有将查询到的数据再添加到对象当中去
7. StringBuilder用法
一、StringBuilder对象的创建(下文builder是StringBuilder创建出来的对象)
1.常规创建
StringBuilder builder = new StringBuilder();
2.在创建的时候添加初始字符串
StringBuilder builder = new StringBuilder("abc");
3.在创建的时候添加初始长度
StringBuilder builder = new StringBuilder(初始长度);
这里需要注意的是如果在StringBuilder的对象创建时没有指定长度,StringBuilder对象会自动生成一个16位的字符数组
注意:
原始数组长度不够时,在传入新字符串时会增加数组长度,并将原来的数据传到新数组中,反复添加遇到这种情况时会对内存造成损耗,为了避免这种情况,可以在创建时提前给StringBuilder对象设置长度:StringBuilder builder = new StringBuilder(初始长度)。
二、StringBuilder对象的方法
1.builder.append()作用:追加数据,在加入新字符串时,不会在内存中新开辟字符串空间,只是给原有的字符串尾部加入新字符串
2.builder.insert()作用:向指定位置插入数据每次加入新字符串之后都会改变字符串中每个字符的地址插入后原始指定位置的数据向后移
3.builder.deleteCharAt()作用:删除指定位置的数据
4.builder.delete( )作用:删除指定范围的数据左闭右开,范围:从开始位置到结束位置的前一个
5.builder.toString()作用:将对象中的数据以字符串的形式返回
6.builder.reverse()作用:将对象中的数据反转
8. Arrays.asList的作用是将括号中的数据转化为list