问题标签 [type-annotation]
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.
read-eval-print-loop - 在 Elm REPL 中键入注释
我既是 Elm 又是函数式编程新手,从未认真使用过 Java。我正在阅读 Elm 文档,并使用 REPL,试图理解类型注释。
它们看起来非常有用:
现在您的所有积分都是专门格式化的浮点数!魔法。爱它。很想在 REPL 中使用它,但 REPL 似乎不理解类型定义:
这是 REPL 中的错误还是功能?
java - 如何访问接收器类型参数的类型注释
我正在看一个相当简单的类,它有一个定义带注释的接收器类型的方法:
我现在想访问接收器类型参数上的类型注释,@Bar
但 Java 反射 API 在访问接收器时返回带注释的原始类型:
断言失败,因为返回的带注释的类型作为原始类型返回Foo
。这是故意的吗?@Bar
在访问返回的实现的私有属性时,我仍然可以找到注释AnnotatedType
。
我正在运行最新版本的 Java 8。
java - java类层次结构中不兼容的空约束与泛型
我正在将我的 java 代码库从 java7 迁移到 java8。在此过程中,我还将从 javax.annotation @Nullable、@NonNull 和 @ParametersAreNotNullByDefault 注释切换到 org.eclipse.jdt 注释,以便在 Eclipse 中进行空值分析(Mars 版本 4.5.0:Build id:20150621-1200)。在这样做时,我偶然发现了一种我无法编译的情况(因为关于基于注释的空检查的严格 Eclipse 设置),因为我无法解释。我不是在寻找一种方法来编译我的代码,而是更多地了解错误发生的原因。
我在一个包中有以下类,指定@NonNullByDefault
在package-info.java
.
我有一个由抽象类实现的接口,该抽象类又由一个具体类扩展,如下所示:
Eclipse 在 ConcreteSubSimComponent 中通知我以下问题:
这个问题似乎是由getErroneousSimulationSubComponents()
. 这就是我如何指定导致我在迁移到 java8 时注意到问题的方法。我发现只需将此方法签名替换为getCorrectSimulationSubComponents()
. 我不明白为什么最后一个版本有效而以前的版本无效。
此外,这似乎只是具体子类中的问题。直接实现接口的具体类不会显示任何问题。
我正在使用 JavaSE-1.8 和一个带有无法编译代码的示例项目,可以在https://github.com/KrisC369/NullProblemIllustration找到
elm - 理解这个榆树函数的困难
我正在学习榆树,我已经阅读了文档,现在我正在尝试注释所有示例,试图解释每个函数中发生的情况。
这个练习花了我相当长的时间来理解。
- 下一个类型注释是什么意思?我得到第一个参数是 a
String
和最后一个Html
,但是中间的呢?它Result
是由一个String
字段和一个List String
字段组成的吗?
view : String -> Result String (List String) -> Html
- 和上面差不多,那些嵌套类型是什么意思呢?
results : Signal.Mailbox (Result String (List String))
我将把异步位留给另一个问题,非常感谢!
java - 使用 Java 7 键入注释 (JSR 308)?
我们可以在 Java 7 项目中使用 JSR 308 类型注解(例如@NonNull
,...)吗?如果是,相关的 Maven 依赖项是什么?
java - 为什么 java 8 编译器或 Eclipse 不直接支持类型注释
目前我正在研究Java8的新特性:http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html
从上面的链接中可以清楚地看出:
Type Annotations provide the ability to apply an annotation anywhere a type is used, not just on a declaration. Used with a pluggable type system, this feature enables improved type checking of your code.
但是当我尝试在 Eclipse Neon 中添加诸如@NotNull
or之类的类型注释时@Readonly
,它根本无法识别这些注释!这太令人沮丧了。
我错过了什么?或者如果我需要做更多的配置,比如添加额外的 jar,为什么这仍然被列为 Java 8 的新特性?
python - mypy:无法推断“map”的类型参数 1
尝试使用 mypy 检查以下代码时:
mypy 抛出以下错误:
calculate.py:17:错误:无法推断“地图”的类型参数 1
为什么会出现这个错误?我该如何解决?
谢谢 :)
编辑:这实际上是mypy 中的一个错误,现在已修复。
java - 可空元素的二维非空数组
在 Java 8 中,我应该在哪里放置@Nullable
/类型注释以声明可空元素@NonNull
的二维非null
数组?
声明类型时(如在方法签名中),两者
和
在语法上是有效的。
同样,在定义一个值(零长度数组)时,我可以使用
或者
哪个版本是正确的?