Java 断言错误不引发错误

2022-09-03 08:39:36

为什么我的断言语句没有产生任何结果?我认为第一个断言语句应该失败,但我没有看到 Eclipse 上显示任何内容。

我正在使用Eclipse来运行这个程序。

package java.first;

public class test {
  public static void main(String[] args) throws Exception {
    String s = "test1";
    assert (s == "test");
    s = "test";
    assert (s == "test");
  }
} 

答案 1

您需要在 JVM 选项中设置(启用断言)。-ea


不相关,但你几乎总是想要而不是.string1.equals(string2)==


答案 2

您必须使用参数启用断言(缩写为 )。-ea-enableassertions

在 Eclipse 中:

  • 右键单击该项目,然后单击“运行方式”“运行配置...”
  • 选择“参数”选项卡
  • 输入“VM 参数”字段。-ea
  • 选择“申请”

现在,运行应该会导致 .AssertionError


推荐