gpt4 book ai didi

java - 为什么下面的方法在Java中不正确?

转载 作者:行者123 更新时间:2023-11-29 09:39:17 24 4
gpt4 key购买 nike

当我输入以下方法并用 Java 编译它时,出现“错误:无法访问的语句”,为什么?

  String getRankChar(int rank,boolean isFront)
{
switch (rank)
{
case 0 : return isFront?"<":">";break;
case 1 : return isFront?"[":"]";break;
case 2 : return isFront?"[":"]";break;
case 3 : return isFront?"(":")";break;
case 4 : return isFront?"(":")";break;
default : return " ";break;
}
}

最佳答案

在每个 return 语句之后都有一个 break 语句。 所有那些break 语句都是无法访问的,正是因为您在它们中的每一个之前返回。

根据 section 14.21 JLS 的:

It is a compile-time error if a statement cannot be executed because it is unreachable.

和:

[...] Every other statement S in a non-empty block that is not a switch block is reachable iff the statement preceding S can complete normally.

...

A break, continue, return, or throw statement cannot complete normally.

return 语句无法正常完成,因此 break 语句无法访问(对于您的每种情况)。

只需删除 break 语句即可。

关于java - 为什么下面的方法在Java中不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com