UML中的注解“NonNull”是什么意思?

6

Android Studio正在显示注释

`@NonNull`

我们如何在UML中表示这个?

同样地,是否有一种标准来显示注释?

2个回答

8

如果您将属性的多重性设置为[1],则它将变为非空。

- someAttribute : int [1]

由于1是属性的默认多重性,因此您也可以将多重性未定义。

- someAttribute : int

为了允许 null 值,您需要明确将下限设置为 0。
- someAttribute : int [0..1]

请参阅UML 2.5规范第9.5.4章(Property.Notation)

<multiplicity-range>是该属性的多重性范围。如果省略此项,则意味着多重性为1(恰好为一个)。(请参见MultiplicityElement - 子条款7.5.)


请问您能否引用参考资料,以便我可以搜索更多信息。答案也将引导我在其他平台(如Android Studio、Netbeans)上进行注释的搜索。谢谢。 - EvOlaNdLuPiZ
1
我见过一些代码生成器,它们不会为未指定的多重性发出属性,并在0..1上使用[CanBeNull],在1上使用[NotNull],因此根据您的约定和工作流程,将其未定义可能并不等同。 - Pete Kirkham
1
@PeteKirkham 那么那些代码生成器显然忽略了 UML 标准,关于属性多重性的默认值。 - Geert Bellekens

1

NotNull属性表示属性或关联端必须存在。

这相当于具有1而不是0..1或未指定的多重性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接