Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()___Arrays.stream和Stream.of

Arrays.asList()使用时的注意事项,这个结论同可适用于Stream.of()

Arrays.asList的参数不能是基本数据类型的数组

Array.asList()的作用是把数组变成一个列表,但是它不能使用 八种基本类型的数组参数,也就是说如 int[], byte[], char[],short[], boolean[],long[],float[],double[] 这几种类型的数组是不可以作为参数的,虽然不会报错,但得到的不是我们想要的数据
如果一定要用这几种类型的数组, 那就声明数组是要使用其相对应的包装类 Integer[] Byte[] 等

Arrays.asList返回的集合不能操作, 只能读取(也就是说返回的集合是不可以使用 add() 和 remove() 等改变集合的方法的)

因为 Arrays.asList() 把回的数把类型是一个list , 但是这个list 不是 java.util.arraylist的类, 而是Arrays类的一个内部类, 这个内部类中没有这些方法, 所以不可以使用

其它只要参数类型使用了泛型的 都不可以使用基本类型

Arrays.stream和Stream.of

在 java8 中,您可以使用 Arrays.Stream 或 Stream.of 将 Array 转换为 Stream。

  1. 对象数组 对于对象数组,Arrays.stream 和 Stream.of 都返回相同的输出。
private static void ObjectArrays() {String[] array = {“a”, “b”, “c”, “d”, “e”};**//Arrays.stream**Stream stream = Arrays.stream(array);stream.forEach(x-> System.out.println(x));**//Stream.of**Stream stream1 = Stream.of(array);stream1.forEach(x-> System.out.println(x));
}
  1. 基本数组 对于基本数组,Arrays.stream 和 Stream.of 将返回不同的输出。
private static void PrimitiveArrays() {int[] intArray = {1, 2, 3, 4, 5};// **1. Arrays.stream** -> IntStreamIntStream stream = Arrays.stream(intArray);stream.forEach(x->System.out.println(x));System.out.println("======");// **2. Stream.of** -> Stream<int[]>Stream<int[]> temp = Stream.of(intArray);// 不能直接输出,需要先转换为 IntStreamIntStream intStream = temp.flatMapToInt(x -> Arrays.stream(x));intStream.forEach(x-> System.out.println(x));
}

对于对象数组,两者都调用相同的 Arrays.stream 方法 对于基本数组,我更喜欢 Arrays.stream,因为它返回固定的大小
IntStream,更容易操作。 所以,推荐使用
Arrays.stream,不需要考虑是对象数组还是基本数组,直接返回对应的流对象,操作方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux虚拟化技术 教程,Linux云计算-虚拟化技术视频教程

目录6 c: Z! r3 a k r/ ]├─1、虚拟化概述. [2 W# Q6 ~! q* b│ ├─1.Linux云计算-虚拟化技术 - 虚拟化概述│ │ ├─1.Linux云计算- 虚拟化技术 - 引入虚拟化的必要性 - 2.mp4. 4 _0 l& ^- j9 A5 r k4 }│ │ ├─2.Linux云计算- 虚拟化技术 - 虚拟化的分类.mp4│…

urlEncoder和urlDecoder的作用和使用

URLEncoder到底是干什么用的&#xff1f;&#xff1f; 都说是对form表单里的请求编码解码用的&#xff0c;但是为什么在写中文文件下载的时候也用到了。 就是说国际通用的编码对中文支持不好&#xff0c;所以需要对着玩意进行转换。 因为中文读取的时候你不给一个编码&#xff…

linux网络文件系统包括,Linux文件系统

在Linux系统中&#xff0c;所有的目录和文件数据都是以一个树形的结构进行存储&#xff0c;整个系统中只存在一个根目录&#xff0c;所有的分区、目录、文件都在同一个根目录下面。“/”下面的第一层目录包括&#xff1a;/bin&#xff1b;/boot&#xff1b;/dev&#xff1b;/et…

Java:URLEncoder、URLDecoder、Base64编码与解码

1. URL 主要用来http get请求url不能传输中文参数问题。http请求是不接受中文参数的 1.1 URLEncoder编码 使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式 对String编码时&#xff0c;使用以下规则&#xff1a; 字母数字字符 “a” 到 “z”、“…

iperf测试带宽linux,iperf3-网络带宽性能测试工具

作用&#xff1a;基于TCP或UDP&#xff0c;对网络带宽吞吐量进行测试安装&#xff1a;yum install iperf3 -y服务端参数&#xff1a;-s&#xff1a;表示启动服务端-i&#xff1a;表示打印报告的时间间隔-p&#xff1a;指定监听端口&#xff0c;默认为5201-D&#xff1a;以后台方…

解决Springboot get请求是参数过长的情况

解决Springboot get请求是参数过长的情况 问题原因 Springboot get请求是参数过长抛出异常&#xff1a;Request header is too large 的问题 错误描述 java.lang.IllegalArgumentException: Request header is too large 解决方案 请求头超过了tomcat的限值。本来post请求…

用get方式提交请求的url带有中文参数

又碰到JSP页面中文乱码问题&#xff0c;经过一次encodeURI处理后仍旧是乱码&#xff0c;后来经过两次encodeURI后正常显示中文 以前也碰到过同样的问题&#xff0c;没深究&#xff0c;这次网上搜集了一些资料&#xff0c;记录下来留做备份 前端JS&#xff1a; var name“中文…

异常:Get请求提交过来的中文参数乱码

一、产生环境 spring boot项目的controller接收Get请求提交的中文参数发生乱码 二、异常情况 中文乱码 三、产生原因 因为内置了tomcat&#xff0c;即使我们在application.yml文件里配置了tomcat的编码格式&#xff0c;但是当我们打包成war包部署到生产服的时候用的却是服…

c语言打印字符的函数参数,C语言格式化打印函数vsnprintf()的实现

Linux内核的格式化打印函数是printk()&#xff0c;它与printf()函数是类似的&#xff0c;都是根据格式字符串把可变参数列表转化成字符序列&#xff0c;然后输出到控制台。printf()是打印到标准输出stdout。printk()是打印到控制台终端。在使用串口线连接嵌入式硬件时&#xff…

使用SpringMVC参数传递时,解决get请求时中文乱码的问题

问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码. 解决办法: 一, 我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流&#xff0c;然后再将其用utf-8解码成字符流,代码如下: String str new String(…

二级c语言笔试58,全国计算机等级考试-二级C语言笔试试题.doc

全国计算机等级考试-二级C语言笔试试题2002年4月全国计算机等级考试二级C语言笔试真题试题(含参考答案)一、选择题(1)—(40)题每小题1分&#xff0c;(41)—(50)题每小题2分&#xff0c;共计60分。下列各题A)、B)、C)、D)四个选项中&#xff0c;只有一个选项是正确的&#x…

get请求URL传中文参数后台接收乱码的解决之道

现在需求是在浏览器里面直接发请求&#xff0c;浏览器发请求&#xff0c;默认发的是get请求&#xff0c;然后带参数&#xff0c;参数包含中文汉字。麻烦就在这里&#xff0c;参数里面的汉字&#xff0c;在后台接收的时候&#xff0c;是乱码。 这么简单的传递参数的方式&#xf…

c语言 dec2oct函数,【Excel函数】DEC2OCT函数 - 曹海峰个人博客

本文介绍Microsoft Excel中DEC2OCT函数的语法和用法。DEC2OCT函数适用于&#xff1a;Excel2003、Excel2007、Excel2010、Excel2013、Excel2016。函数说明DEC2OCT函数的主要作用是将十进制数转换为八进制数。如果该函数不可用&#xff0c;并返回错误值 #NAME?&#xff0c;请安装…

如何解决springboot参数传中文乱码

如何解决springboot参数传中文乱码 前言 本文案例来自业务部门的一个业务场景。他们的业务场景是他们部门研发了一个微服务上下文透传组件&#xff0c;其透传原理也挺简单的&#xff0c;就是通过springboot拦截器把请求参数塞进threadlocal&#xff0c;然后下游通过threadloc…

在c语言中预处理命令行都以井号开头,以井号开头的行和gcc预处理器输出中的'#1“ac”'之类的数字是什么意思?...

以井号开头的行和gcc预处理器输出中的&#xff03;1“ac”之类的数字是什么意思&#xff1f;我使用打印出C预处理器的输出gcc -E a.c输出包含许多行# 1 "a.c"# 1 ""# 1 ""# 1 "a.c"# 1 "c:\\mingw\\bin\\../lib/gcc/mingw32/4.5.…

springboot接收get和post请求参数

一、get请求前端传参和后台接收的写法&#xff1a; 1、ajax请求&#xff1a; $.ajax({ url:/user/login3,//contentType: application/json;charsetutf-8, //这一句添加与否&#xff0c;效果都一样data:{"userName":"张三", "userPas…

android原生调用nextjs方法,详解使用Next.js构建服务端渲染应用

next.js简介最近在学React.js&#xff0c;React官方推荐使用next.js框架作为构建服务端渲染的网站&#xff0c;所以今天来研究一下next.js的使用。next.js作为一款轻量级的应用框架&#xff0c;主要用于构建静态网站和后端渲染网站。框架特点使用后端渲染自动进行代码分割(code…

SpringBoot2基础-请求参数处理和原理

SpringBoot2基础-请求参数处理和原理 tags: Spring Boot2021尚硅谷雷丰阳 categories: 静态文件配置静态文件配置原理欢迎页和自定义 FaviconRest表单请求原理请求映射原理各种参数使用和原理 文章目录SpringBoot2基础-请求参数处理和原理第一节 [SpringMVC](https://so.cs…

android开机后自动执行shell,init.rc启动 shell脚本

[Android] 在開機的時候&#xff0c;執行你想要的 shell script雖然 init.rc 很好用&#xff0c;但還是有其缺陷... 像是我要 echo 某些字串到檔案時&#xff0c;他就做不到了 :(所以可以搭配一個 .sh 的檔案&#xff0c;讓他開機的時候去執行這個 .sh 即可。建議修改方式&…

Spring MVC 执行过程原理(请求映射原理、参数处理原理、返回值处理器)

Spring MVC 执行过程分析 文章目录Spring MVC 执行过程分析请求映射原理适配器Adapter执行目标方法参数处理器解析器HandlerMethodArgumentResolverRequestBody测试RequestParam测试RequestParamMethodArgumentResolver分析执行目标方法体返回值处理器解析器目标方法执行完成处…