我有以下lambda表达式,如果bonusScheduleDurationContainers
不为空则工作正常.如果它是空的,我会得到一个NoSuchElementException
.我如何在lambda表达式中检查这个?
final List<ScheduleDurationContainer> bonusScheduleDurationContainers
= scheduleDurationContainersOfWeek.stream()
.filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS)
.collect(Collectors.toList());
final ScheduleDurationContainer bonusScheduleDurationContainer
= bonusScheduleDurationContainers.stream()
.filter(s -> s.getDayOfWeekStartingWithZero() == dayOfWeekTmp)
.findFirst()
.get();
Run Code Online (Sandbox Code Playgroud) 我使用上面提到的软件堆栈,我需要在保存到数据库之前加密密码.我还需要解密密码,因为当有人更改密码时,她需要输入旧密码,然后新的onw两次,我需要检查旧密码.我搜索了很多,但我仍然不确定这是怎样的正确方法.我找到了这个链接加密,但还有其他提示吗?我也不确定MongoDB是否提供了保护密码的功能.
我编写了这个java方法但有时颜色String只有5个字符长.有谁知道为什么?
@Test
public void getRandomColorTest() {
for (int i = 0; i < 20; i++) {
final String s = getRandomColor();
System.out.println("-> " + s);
}
}
public String getRandomColor() {
final Random random = new Random();
final String[] letters = "0123456789ABCDEF".split("");
String color = "#";
for (int i = 0; i < 6; i++) {
color += letters[Math.round(random.nextFloat() * 15)];
}
return color;
}
Run Code Online (Sandbox Code Playgroud) 我在Angular 5应用程序中使用此表达式:
{{ viewDate | date:'MMM' }}
Run Code Online (Sandbox Code Playgroud)
月份缩写以英语显示.如何将输出切换为德语?
我有一个ScheduleContainer
对象列表,在流中,每个元素都应该被输入到类型中ScheduleIntervalContainer
.有办法做到这一点吗?
final List<ScheduleContainer> scheduleIntervalContainersReducedOfSameTimes
final List<List<ScheduleContainer>> scheduleIntervalContainerOfCurrentDay = new ArrayList<>(
scheduleIntervalContainersReducedOfSameTimes.stream()
.sorted(Comparator.comparing(ScheduleIntervalContainer::getStartDate).reversed())
.filter(s -> s.getStartDate().withTimeAtStartOfDay().isEqual(today.withTimeAtStartOfDay())).collect(Collectors
.groupingBy(ScheduleIntervalContainer::getStartDate, LinkedHashMap::new, Collectors.<ScheduleContainer> toList()))
.values());
Run Code Online (Sandbox Code Playgroud) 我用Java编写了一个REST-API,并使用Spring Security保护了这个API.程序是这样的:
这工作正常,但我已经读过(使用Node.JS/Passport.js/Express.js),内部cookie的会话对象可以在没有任何自定义代码的情况下进行传输.
我现在的问题是,如果有更好的方法,那么前端/客户端不需要始终为任何请求将令牌设置到标头中.
我创建了这个 Websocket 项目Spring Websocket,它工作得很好。我将在我的项目中介绍这个例子。我要求可以动态创建或删除/销毁(聊天)组。
在我的 WebsocketConfig- 类端点中,可以通过以下方式静态添加:
registry.addEndpoint("/hello").withSockJS(); (also see below)
Run Code Online (Sandbox Code Playgroud)
是否有可能动态添加端点?我的用例是我有属于一个或多个公司的公司和员工:
Run Code Online (Sandbox Code Playgroud)n m (m:n relation)
公司<-------->员工
并且可以动态创建公司(通过单击“创建”按钮)。然后可以将之前注册的员工添加到公司。所以这意味着如果创建了一个公司(并且最少有 2 名员工被添加到公司),那么应该添加一个端点。
我很高兴在这个方向上有任何有用的答案。非常感谢!
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
// Prefix for messages FROM server TO client
config.enableSimpleBroker("/topic");
// Prefix for messages FROM client TO server
config.setApplicationDestinationPrefixes("/app");
// /app wird beim client - sendName verwendet: stompClient.send("/app/hello", {}, JSON.stringify({ 'name': name
// }));
}
@Override
public void registerStompEndpoints(final StompEndpointRegistry registry) {
registry.addEndpoint("/hello").withSockJS();
} …
Run Code Online (Sandbox Code Playgroud) 有没有更好的方法来填充ArrayList
这样的(我在Java 7中这样做了):
List<ScheduleIntervalContainer> scheduleIntervalContainers = new ArrayList<>();
scheduleIntervalContainers.add(scheduleIntervalContainer);
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用标准的HTML颜色选择器:
<input type="color" ng-model="vm.currentUser.color" />
Run Code Online (Sandbox Code Playgroud)
如果我单击该颜色选择器的按钮并手动更改颜色,则会经常更新模型.由于我有一个监视vm.currentUser.color
,相应的方法也经常被调用,这是有问题的.
有没有办法只在点击颜色选择器的OK按钮时设置模型变量?
是否可以更改已选中复选框的默认颜色(mat-pseudo-checkbox-checked):
<mat-selection-list #shoes>
<mat-list-option *ngFor="let shoe of typesOfShoes">
{{shoe}}
</mat-list-option>
</mat-selection-list>
Run Code Online (Sandbox Code Playgroud)
我试过了:
.mat-pseudo-checkbox-checked {
background-color: #00f;
}
Run Code Online (Sandbox Code Playgroud)
但这没有影响。