java - 如何使用 Java 8 使用 A 的构造函数将对象 A 的数组转换为对象 B 的数组?
问题描述
我有两个班级 A 级和 B 级。如下:
A类:
class A {
public String a;
public A() {
}
public A(final String a) {
this.a = a;
}
}
B类:
class B {
private A a;
private String b;
public B() {
}
public B(final A a) {
this.a = a;
}
}
我将 A[] 转换为 B[] 的位置如下:
public static void main(final String[] args) {
final A[] myA = new A[3];
myA[0] = new A("a");
myA[1] = new A("b");
myA[2] = new A("c");
B[] myB = new B[myA.length];
IntStream.range(0, myA.length).forEach(propIndex->{
myB[propIndex] = new B(myA[propIndex]);
});
System.out.println(myB.length);
}
有没有其他方法可以在不forEach
使用索引迭代()的情况下做到这一点?toArray(B[]::new)
我不必使用的东西或任何其他方式forEach
?
解决方案
你可以做:
B[] myB = Arrays.stream(myA) // create a Stream<A>
.map(B::new) // map each instance of A to instance of B
.toArray(B[]::new); // collect to array of B
推荐阅读
- git - git status 给出有关“dyld:库未加载...”的错误
- ios - 网络运行后获取小区计数
- ios - 如何在缩放事件(iOS)上触发图像 CSS @media?
- android - System.err:javax.net.ssl.SSLPeerUnverifiedException:主机名 XXX 即使在添加网络安全配置后也未验证
- azure - 无法在 Azure Devops 服务中获取 TFS 用户权利
- r - 如何从R中的密度范围内选择数据
- r - 变量名列表的非标准评估
- python - python中A1符号单元格值的参数化
- spring-data-jpa - 我正在尝试将“spring-data-jpa-datatables”作为 maven 依赖项引入我的项目,但是在启动服务器时遇到了其他几个错误
- c# - 在继续之前检查前两个字符的 return 语句