【发布时间】:2023-01-03 13:34:11
【问题描述】:
我无法使我的部分代码正常工作。错误显示“无法解析符号‘asList’和‘无法解析符号‘info’”
我发现的一种解决方案是将这段代码放入
public static void main(String[] args) {
它会起作用,但我不知道为什么会这样。
package com.solvd.army.lambda;
import com.solvd.army.Runner;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Arrays;
public class PrintRanks {
private static Logger logger = LogManager.getLogger(Runner.class.getName());
String ranks[] = {"General", "Colonel", "General", "IntelligenceTeam", "Lieutenant", "Major", "Doctor",
"Nurse", "Operator", "Sergeant", "Soldiers"};
Arrays.asList(ranks).forEach((ranks) -> logger.info(ranks));
}
【问题讨论】:
-
什么是“遇到麻烦“意思是?你有编译错误吗?如果是这样:请edit帖子,添加编译器错误并突出显示导致编译错误的代码行。它会抛出异常吗?如果是这样:请edit帖子,添加堆栈跟踪并突出显示导致异常的代码行。您是否观察到意外行为?如果是这样:请edit帖子,添加minimal reproducible example,正如我们预期和观察到的输出。
-
“
Arrays.asList(ranks).forEach((ranks) -> logger.info(ranks))" - 此语句在类级别上。Java 不允许在类级别上执行语句(字段定义除外)。语句必须位于方法或静态初始化程序块内。
标签: java