当前位置: 首页 > 知识库问答 >
问题:

为什么Eclipse JDT空检查尊重Apache Commons验证

程磊
2023-03-14

我在Eclipse-JDT中使用@nonnull-checking,很高兴看到它理解并尊重Apache Commons validate的使用。在代码中表示:

Validate.notNull(someInput);
@NonNull String a = someInput;

没有第一行,第二行将在Eclipse中生成警告。我只能在“assert”应该得到尊重的情况下进行配置。但是在没有任何进一步通知的情况下,它也尊重validate#NotNull和objects#RequireNonNull。这很棒,但我想知道:

  1. 它是硬编码的还是可配置的(在某些插件、文件中,...)Eclipse尊重哪些框架/方法进行正确的空检查?
  2. 我是否可以编写自己的方法让Eclipse知道,某个变量是保证非空的?

共有1个答案

戈睿识
2023-03-14

该列表是硬编码的,不能扩展(除了通过修改源代码)。

org.eclipse.jdt.internal.compiler.lookuporg.eclipse.jdt.internal.compiler.ast中涉及的一些主要类,包括typeConstantstypeids接口以及referenceBindingmessagesend类。

 类似资料:
  • 我有一个复杂的对象我想检查是否有效。我有一个方法来检查它,但是C#可为空性检查不知道它们: 有没有办法在这里应用类似TypeScript的类型门的东西?如果为true,那么我们知道不是null,但是C#分析器看不到函数内部。如果我内联检查它可以,但我是复制粘贴代码,这是一个简单的例子。 是否有任何注释或模式,我可以有空性分析与更复杂的检查?

  • 我使用like检查数组是否为空 我也发现是这样的 和 哪一个更好地使用以上三个?

  • 假设我在程序中有一段代码: 有人建议我在调用消息之前检查消息的空值。getUserId()。 检查null有两种方法:第一种: 第二种方式: 我的问题是: 哪种方式对null检查更好?返回还是抛出异常? 为什么我们在这里需要空检查?如果我们不这样做,那么无论如何都会抛出。

  • 我正在尝试处理静态编程语言/Android上的改造响应: 首先,我不明白响应如何成功,主体为空。无论如何,如果我添加空检查,我也会得到“智能转换到‘xy’是不可能的,因为‘response.body()’是一个复杂的表达式”添加非空断言代码(!!)实际上,对我来说,这是两个独立的警告,但是为什么要使用空断言请求呢?

  • 我想做一个计算外它的两位数除法,用户使用编辑框输入两个数字,当用户留下一个编辑文本为空,他git一个错误消息没有粉碎的应用程序,我试图它,但应用程序总是粉碎

  • 问题内容: 此问题与旧Java版本的行为以及双重检查锁定算法的旧实现有关 较新的实现使用volatile并依赖于略有更改的语义,因此它们 不会 损坏。 声明字段分配始终是原子的,除了long或double字段。 但是,当我阅读解释为什么双重检查锁定被破坏时,据说问题出在赋值操作中: 线程A注意到该值未初始化,因此它获得了锁并开始初始化该值。 由于某些编程语言的语义,允许编译器生成的代码在A完成执行