问题标签 [notnull]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - java @Nonnull 注解在一个返回 null 的方法中
我有一个从哈希图中获取某些东西的方法,一个简化的例子(这没有多大意义,但现在已经足够好了)是:
当给定键明显不存在条目时,此方法可以返回 null。问题是,我想用@NonNull
(因为它在无数地方使用,我不喜欢 Intellij 向我发送关于生成 NPE 的检查警告的垃圾邮件,我不想关闭该检查,我也不想在我调用这个方法的任何地方检查返回的值是否不同于 null。这是因为我总是使用这个方法和一堆总是在地图中的键。所以由于程序逻辑,这个方法是必然会返回一个@NonNull
值。
我很想用 注释它@NonNull
,但谁知道有人可能会用某个地方定义的键以外的东西来调用它,实际上会导致 NullPointerException。你会怎么办?一个断言对我来说听起来很诱人。或者你会改变方法来抛出一个 RuntimException 吗?还是一个断言错误?
谢谢。
编辑:
这是实际的实现:
sql-server - 什么是 PostgreSQL 和 SQL Server 中“位”数据类型的默认“长度/值”
问题:
1 . PostgreSQL 中位数据类型的默认长度/值是多少?
2 . SQL Server 中位数据类型的默认长度/值是多少?
3 . PostgreSQL 中的默认列值(NULL/NOT NULL)是什么?
4 . SQL Server 中的默认列值(NULL/NOT NULL)是什么?
java - 未注解的方法会覆盖使用@NotNull 注解的方法
我正在实现一个自定义数据结构,它为我提供了一些集合的属性和列表的其他属性。不过,对于大多数已实现的方法,我在 Java 7 上的 IntelliJ IDEA 中收到了这个奇怪的警告:
未注解的方法会覆盖使用@NotNull 注解的方法
编辑:下面的代码与问题无关,而是原始问题的一部分。由于 IntelliJ 中存在错误,因此出现此警告。请参阅(希望)解决您的问题的答案。
我找不到任何相关的东西,我不确定我是否真的错过了某种检查,但我已经查看了 ArrayList 和 List 接口的源代码,但看不到什么这个警告实际上是关于。它在引用列表字段的每个实现的方法上。这是我制作的课程的片段:
编辑:我在类中有这些额外的构造函数:
java - 我想检查一个对象的所有值集是否为空
在这种情况下,只有 2 个值,但我可能需要在 obj1 上设置 30 个值。问题是当我初始化 obj1 时,它会将 null 分配给它的所有值,当我检查 obj1 != null 时,它会将 obj1 读取为非 null,因为默认情况下值被分配给他们。我需要一些可以将 obj1 值设置为 null 而不是它的引用而是它的值的东西,或者可以检查 obj1 的所有值是否全部为 null 并且如果任何值不为 null 的东西,可以在 obj2 上设置。提前致谢
java - NotNull 不工作,Column(nullable = false) 工作
我有一个 Spring 实体,其字段用 javax.validation.constraints 中的 @NotNull 注释
问题是,如果为 name 字段设置 null 值,它会存储在数据库中。但是,如果我按如下方式更改课程,则会引发我希望收到的异常:
有没有一种方法可以避免指定 nullable=false,但让 @NotNull 表现得如我所愿?是否有任何依赖于标准 Java 注释的 nullable=false 替代方案,例如一些 Hibernate 配置?
这是我的弹簧配置:
应用程序上下文
应用程序上下文持久性
applicationContext-jpa
由于我使用的是存储库,因此我还报告了相应的实体存储库:
crystal-reports - 水晶报表条件显示
我在报告中有 3 个字段(例如 FIELDA、FIELDB、FIELDC)并且想要实现以下伪代码:
还请指定我在哪里输入代码。
sql - oracle sql - 仅当该列中没有空值时选择
我正在查看一个包含几个独特清单项目的清单。我只想选择在清单日期字段中没有空值的人的记录(ID、姓名等)。
目前,它正在选择那些至少有一个非空清单日期的人。这意味着它仍在为某些清单项目选择日期为空的人的记录。
如何告诉它选择哪里 CK.SARC_RECEIVE_DATE = (所有清单项 receive_dates 必须是非空值)?
简化示例:
sql - Oracle SQL SELECT 带有“NOT NULL”约束的未填充记录
为了检索我需要的数据,我必须选择没有数据的记录。有些行未填充(?)。
许多这些“未填充”的行都设置有 Not Null 约束。这让事情变得很困难!我不能简单地搜索 NULL 行,因为它们不是 NULL。
我已经能够使用几种方法选择或排除未填充的行。这些方法似乎随机工作或不工作。
示例:选择或排除 st.sart_code 或 st.sart_hold 或 st.sart_status 或 st.sart_date 未填充的记录。
方法 1 - 选择具有不具有值 EVEA 的行的记录 - st.sart_code 可以包含一个 sp.sprite_id 的多个值。这是一个项目清单。我正在寻找清单中没有 EVEA 的记录
具有 Not Null 约束的 Varchar2 类型
方法 2 - 选择具有不具有值 A2 的行的记录 - st.sart_hold 可以包含一个 sp.sprite_id 的多个值。st.sart_hold 可能是空白/未填充(记录没有保留)或包含几个不同的保留。这些值是帐户保留类型。我正在寻找没有特定“A2”保留的记录。
具有 Not Null 约束的 Varchar2 类型
编辑我刚刚意识到这只有在至少已经有一个持有的情况下才有效。如果此人没有保留,此脚本将不会选择记录(即使此人也没有 A2 保留)。
方法 3 - 选择行中没有 st.sart_status 值的记录——st.sart_status 只能包含 3 个可能值中的 1 个,或者一个 sp.sprite_id 没有值。这些值是文件状态。我正在寻找没有状态的记录
具有 Not Null 约束的 Varchar2 类型
方法 4 - 选择在 st.sart_date 中不缺少任何值的行的记录(列表中的所有日期字段都已填充)- st.sart_date 可以包含日期,也可以为一个 sp.sprite_id 为空白/未填充。该值是清单项目的接收日期。我排除了没有任何清单项目日期的任何记录(可能有许多项目具有相应的日期)。
具有 Not Null 约束的日期类型
这有点不同,所以我再次包括第一部分。
我的问题:我很难找到使用 Not Null 约束字段的方法。
编辑:当“非空”约束字段未填充时,我如何查看它的内容?
为什么在查找未填充的字段时,上述方法并不总是有效?某些方法是否仅适用于某些数据类型(varchar2、数字、日期)?还是与我使用的 JOIN 类型有关?还有什么?
还有其他方法可以请人指导我吗?任何指导将不胜感激!
“选择存在 [ColumnName DataType() NOT NULL] 的未填充字段的记录”的正确术语是什么?如果我知道我要问的术语,我可以搜索它。
注意我的脚本通常比上面的例子更复杂。我通常至少有 3 个连接和许多 WHERE 子句。
如果这个问题涉及太多,请告诉我!我刚来这地方。:-)
sql - 选择除 null 或 NVL 之外的所有列全部为 null
有什么方法可以选择字段不为空的记录中的所有列或将空字段NVL到''?我在做甲骨文
像这样的东西
或者像这样