sonarLint:将此匿名内部类设为lambda

问题描述 投票:1回答:1

以下代码具有SonarLint的通知:

handler.setFileNameGenerator((new FileNameGenerator() {
    @Override
    public String generateFileName(Message<?> message) {
        if (message.getPayload() instanceof File) {
            return ((File) message.getPayload()).getName();
        } else {
            throw new IllegalArgumentException("File expected as payload.");
        }
    }
}));

我正在尝试以下操作,但throw new IllegalArgumentException件有问题:

handler.setFileNameGenerator(message -> 
       (message.getPayload() instanceof File) ? 
       ((File) message.getPayload()).getName() : 
       throw new IllegalArgumentException("File expected as payload."));

您能请教吗?

lambda java-8 anonymous-function sonarlint
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.