我有一个包含一些PersonObject 的列表.这是我的Person班级:
public class Person(){
// contructors
private String lastname;
private String firstname;
private List<Place> places;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我的Place班级是:
public class Place(){
// contructors
private String town;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我有代码从人删除一些地方:
List<Person> persons = new ArrayList<Person>();
// adding persons to List
// Below i want to remove person whose place is in town Paris.
persons.removeIf((Person person)-> person.getPlaces(???));
Run Code Online (Sandbox Code Playgroud)
我想从列表中删除Place符合以下条件的人 place.getTown()=="Paris"
怎么写这段代码?
我是一名Java开发人员,我一直在学习C++.我最近在C++中进入了"致命的死亡钻石"并研究了这个问题是否可能在Java中出现.在Do界面解决"致命的死亡钻石"问题?, 我找到了这个:
Java 8为方法搞砸了; 现在,接口可以声明默认方法和静态方法实现.这将大量的死亡钻石问题带入语言中.
我想知道是否有人能够扩展Java 8为DDD引入的问题.
我想检查对象的所有字段为空或不使用Java 8.尝试了不同的方法,因为在提到这里,但我想它使用Java 8的功能来完成.
例如:
class person{
String name;
Long id;
//getter & setter
}
Person person = new Person();
List<Person> personList = new ArrayList<>();
personList.add(person);
Run Code Online (Sandbox Code Playgroud)
我想只在id和name不为NULL时才添加person to list.因为,Person有超过10个字段,我不想空检查每个字段并添加到列表中.在这里,我从DB操作中设置ResultSet中的那些字段.
为什么以下代码在Java 8 + eclipse中成功编译并运行?
package package1;
interface A
{
static void main(String[] args) {
System.out.println("Hi");
}
}
Run Code Online (Sandbox Code Playgroud)
如果将A更改为类,则运行时需要将其作为公共类,但对于接口则不然.这似乎不一致.
编辑:我在发布问题时所做的上述陈述是错误的.(我一定很累,误读了错误).Java不要求托管main的类是公共的,只需要方法.但是,类型托管main不必是公共的,而主要的方法是公共的,这有点不一致.
我有一个列表Objects与java.util.date字段为一体.如何Objects根据日期(每小时)分离/过滤.即例如:Objects日期范围从12.00到13:00应分开或形成新列表,依此类推每小时.帮助我实现这一目标.
我试图从.stream()via 2 打印值.filter().但价值不是印刷.
一个人.filter()能够打印值.
请在下面找到我的代码.
listProducts.stream()
.flatMap(listproducts -> listproducts.getProductAttr().stream())
.flatMap(attr ->attr.getProductAttrValue().stream())
.filter(av -> av.getLabel().equalsIgnoreCase("source"))
.filter(av -> av.getLabel().equalsIgnoreCase("description"))
.forEachOrdered(av -> System.out.println(av.getValue()));
Run Code Online (Sandbox Code Playgroud) 何时将CompletableFuture线程发回ThreadPool?是在调用get()方法之后还是在完成相关任务之后?
关于函数式编程,特别是新的Java 8流API,有太多的炒作.它被宣传为旧的良好循环和命令式范例的良好替代品.事实上,有时它看起来很不错并且做得很好.但性能呢?
例如,这是关于此的好文章:Java 8:没有更多循环 使用循环,您可以通过一次迭代完成所有工作.但是使用新的流API,您将链接多个循环,这使得它更慢(是不是?).看看他们的第一个样本.在大多数情况下,Loop甚至不会遍历整个阵列.但是,要使用新的流API进行过滤,您必须遍历整个数组以过滤掉所有候选项,然后您将能够获得第一个.
在这篇文章中提到了一些懒惰:
我们首先使用filter操作来查找具有Java标记的所有文章,然后使用findFirst()操作来获取第一个匹配项.由于流是惰性的并且过滤器返回流,因此该方法仅处理元素,直到找到第一个匹配.
作者对这种懒惰的意思是什么?
我做了简单的测试,它表明旧的良好循环解决方案可以快速运行10倍然后流式处理.
public void test() {
List<String> list = Arrays.asList(
"First string",
"Second string",
"Third string",
"Good string",
"Another",
"Best",
"Super string",
"Light",
"Better",
"For string",
"Not string",
"Great",
"Super change",
"Very nice",
"Super cool",
"Nice",
"Very good",
"Not yet string",
"Let's do the string",
"First string",
"Low string",
"Big bunny",
"Superstar",
"Last");
long start = System.currentTimeMillis();
for (int i = 0; i < 100000000; i++) {
getFirstByLoop(list);
}
long end = …Run Code Online (Sandbox Code Playgroud) 场景:我需要List使用Java 8流API基于某些字段条件为对象设置一些值.
以下是对象的示例User.
public class User{
private int id;
private String name;
private String text;
private boolean isActive;
}
Run Code Online (Sandbox Code Playgroud)
这是我编写的代码
List<User> users = userDao.getAllByCompanyId(companyId);
users.stream()
.filter(Objects::nonNull)
.filter(User::isActive)
.peek(user -> user.setText('ABC'))
.filter(user -> !user.isActive())
.peek(user -> user.setText('XYZ')
Run Code Online (Sandbox Code Playgroud)
我知道我根据条件将值设置为object的方式是错误的.
这只是一个使用流的试用版,最后我需要将值设置为usersobject.
有没有办法处理if-else条件.
我有以下服务正常使用 Java8
List<ReportCount> getReportDetails(List<String> statusList);
statusList.add(Arrays.asList("SUCCESS"));
statusList.add(Arrays.asList("CANCELLED"));
statusList.add(Arrays.asList("ON_HOLD","INPROGRESS"));
statusList.stream()
.map(reportService::getReportDetails)
.forEach(e -> reportMap.put("report_" + reportMap.size(), e));
Run Code Online (Sandbox Code Playgroud)
如何使用上面的代码为下面的方法传递1个参数.
String id="CA";
List<ReportCount> getReportDetails(List<String> statusList, String id);
Run Code Online (Sandbox Code Playgroud)
有谁可以帮忙.谢谢
java-8 ×10
java ×9
java-stream ×4
arraylist ×1
filtering ×1
interface ×1
lambda ×1
performance ×1
threadpool ×1