问题标签 [unchecked-cast]
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.
android-studio - 在 Android 上使用 Cloud Storage 上传文件会导致未选中呼叫警告
我使用 Cloud Storage 通过获取文件的下载 url 来上传任何文件。根据云存储文档的建议代码如下:
获取下载网址
上传文件后,您可以通过调用 StorageReference 上的 getDownloadUrl() 方法获取下载文件的 URL:
当我将此代码添加到我的项目中时,Android Studio 编译器会给我“未经检查的调用”警告。我只是想逃避这个警告。我怎么能逃脱?编译器警告结果如下:
感谢您的帮助...
java - 有没有一种方便的方法来明确地进行不安全的演员表?
所以我们知道,Java 没有具体化的泛型。这意味着如果你这样做:
这会产生未经检查的警告,因为您现在面临集合中的某些对象实际上不是 type 的风险,如果来自公共 API 中的外部对象Person
,这可能会令人讨厌。someObject
但更常见的是,至少根据我自己的经验,您绝对确定该集合仅包含给定的类型。
所以你最终会这样做:
当然,可以为您创建一个方便的功能。这是它的工作原理:
然后你可以这样做:
这显然更好看,但它是如此明显的修复,我认为每个人最终都会想出它。如果我查看像 Gradle 这样的源代码,我会找到一个内部便利的方法。我相信其他人都会有同样的情况。
我们已经在使用 Guava,它似乎没有任何类似的东西。
问题是,是否有一个库可以解决这类问题,或者每个人最终都会在他们的代码库中实现相同的方法?
scala - 如何在没有警告的情况下匹配未知的泛型类型
我有一个函数可以接收任何 Java/Scala 类型的输入作为参数:
我对: Map[Object, Object]
-pattern 有疑问:
如果我说
case map : Map[Object, Object]
,我会得到一个警告non-variable type argument is unchecked
。如果我说
case map : Map[_, _]
,我得到一个错误map.get
,表明编译器找到类型_
,但正在寻找Object
。如果我说
case map : Map
编译器抱怨 Map 需要类型参数
是否可以像这样匹配并告诉编译器“嘿,我知道类型信息在运行时丢失了,Object
很好,给我Map[Any, Any]
”?
java - Unchecked Cast 警告 - 显示类型参数但不显示具体类型?
考虑以下代码段:
- 据我了解 - 每当我们转换
Supertype -> Subtype
Unchecked 强制转换时,编译器才会在运行时才Supertype
知道SubType
. - 然后在这里 - 为什么
(Double) (Number)a
不被标记为Unchecked Cast
?
java - 为什么Java中(cast)运算符的变量参数化变体被标记为未经检查的警告而不是错误?
考虑以下代码段:
- 在这里,
instanceof
将给出编译错误,因为E
在运行时类型未知。 - 为什么会
(List<E>)o
发出警告?我认为这应该由编译器基于相同的理由报告为错误。
我不确定是否有任何情况下为什么这不会是错误而只能作为警告。