当前位置: 首页 > 知识库问答 >
问题:

Java stream toArray()转换为特定类型的数组

慕容兴贤
2023-03-14

也许这很简单,但实际上我对Java8特性一无所知,不知道如何实现这一点。我有一个简单的行,包含以下文本:

“密钥,名称”

Arrays.stream(line.split(",")).map(String::trim).toArray();
Object[]:
    0 = (String) "Key"
    1 = (String) "Name"

共有1个答案

轩辕经国
2023-03-14

使用toArray(size->new string[size])toArray(string[]::new)

String[] strings = Arrays.stream(line.split(",")).map(String::trim).toArray(String[]::new);

这实际上是一个lambda表达式

.toArray(new IntFunction<String[]>() {
        @Override
        public String[] apply(int size) {
            return new String[size];
        }
    });

其中您将告诉将数组转换为相同大小的字符串数组。

 Person[] men = people.stream()
                      .filter(p -> p.getGender() == MALE)
                      .toArray(Person[]::new);

生成器-一个函数,它产生一个新的数组,所需的类型和提供的长度

 类似资料:
  • 问题内容: 也许这很简单,但实际上我对Java 8功能不熟悉,不知道如何实现。我有一条包含以下文本的简单行: “密钥,名称” 并且我想将该行转换为String数组,并用逗号(,)分隔每个值,但是,我还想在返回最后一个数组之前修剪每个字段,所以我做了以下工作: 但是,这将返回Object []数组而不是String []数组。经过进一步检查,我可以确认内容实际上是String实例,但是数组本身是Ob

  • 我正在尝试有一个通量通用转换器使用通用类型在Java 8。我把我的代码建立在这个答案的基础上。其思想基本上是实现这个特定的转换器->: 类型转换器->转换为我想要的任何类型。因此,我正在使用构造函数创建一个类型为的类,并返回一个方法。我想在调用上创建类似这样的多个条目:,但类类型不同。但它甚至对整数也不起作用。 当我使用此单元测试进行测试时,我得到错误:。

  • 问题内容: 我正在将iOS项目迁移到Swift。我正在上课。当我从Swift调用Objective C方法时,很多Objective C类型都转换为它们的Swift对应类型。 在我的情况下,目标C 转换为Swift的。现在是我的问题了。在我的Swift类中,我从Objective C对象获得了这样的数组。现在我处于Swift世界中,我想将此数组强制转换为特定类型,而不是,因为我确定知道此数组中存在

  • 问题内容: 有没有更好的方法来简化由(1)…(2)括起来的语句? Java Reflection有帮助吗? 问题答案: 高效,干净地处理此问题的最佳方法是让foo返回对象的holder类。

  • 我有一个源类,它将字符串属性定义为CharSequence(不幸的是)。 所以如下: 给我: 无法将属性“java.lang.CharSequence charSeq”映射到“java.lang.String str”。考虑声明/实现一个映射方法:“java.lang.String map(java.lang.CharSequence value)” 我如何实现这个映射器方法,并使它对我的所有映射

  • 问题内容: 我想通过使用struct / interface的字符串名称值将特定变量转换为特定的已定义struct / interface。 例如: 和新变量 这可能是偶然的吗?也许使用反射? 干杯 问题答案: 这不可能。Go是一种静态类型的语言,这意味着必须在编译时知道变量和表达式的类型。 在类型断言中: […]如果类型断言成立,则表达式的值为存储在其中的值,其类型为。 因此,您可以使用类型断言