问题标签 [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.

0 投票
0 回答
17 浏览

android-studio - 在 Android 上使用 Cloud Storage 上传文件会导致未选中呼叫警告

我使用 Cloud Storage 通过获取文件的下载 url 来上传任何文件。根据云存储文档的建议代码如下:

获取下载网址

上传文件后,您可以通过调用 StorageReference 上的 getDownloadUrl() 方法获取下载文件的 URL:

当我将此代码添加到我的项目中时,Android Studio 编译器会给我“未经检查的调用”警告。我只是想逃避这个警告。我怎么能逃脱?编译器警告结果如下:

感谢您的帮助...

0 投票
1 回答
43 浏览

java - 有没有一种方便的方法来明确地进行不安全的演员表?

所以我们知道,Java 没有具体化的泛型。这意味着如果你这样做:

这会产生未经检查的警告,因为您现在面临集合中的某些对象实际上不是 type 的风险,如果来自公共 API 中的外部对象Person,这可能会令人讨厌。someObject

但更常见的是,至少根据我自己的经验,您绝对确定该集合仅包含给定的类型。

所以你最终会这样做:

当然,可以为您创建一个方便的功能。这是它的工作原理:

然后你可以这样做:

这显然更好看,但它是如此明显的修复,我认为每个人最终都会想出它。如果我查看像 Gradle 这样的源代码,我会找到一个内部便利的方法。我相信其他人都会有同样的情况。

我们已经在使用 Guava,似乎没有任何类似的东西。

问题是,是否有一个库可以解决这类问题,或者每个人最终都会在他们的代码库中实现相同的方法?

0 投票
1 回答
63 浏览

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]”?

0 投票
1 回答
70 浏览

java - Unchecked Cast 警告 - 显示类型参数但不显示具体类型?

考虑以下代码段:

  • 据我了解 - 每当我们转换Supertype -> Subtype Unchecked 强制转换时,编译器才会在运行时才Supertype知道SubType.
  • 然后在这里 - 为什么(Double) (Number)a不被标记为Unchecked Cast
0 投票
1 回答
55 浏览

java - 为什么Java中(cast)运算符的变量参数化变体被标记为未经检查的警告而不是错误?

考虑以下代码段:

  • 在这里,instanceof将给出编译错误,因为E在运行时类型未知。
  • 为什么会(List<E>)o发出警告?我认为这应该由编译器基于相同的理由报告为错误。

我不确定是否有任何情况下为什么这不会是错误而只能作为警告。

0 投票
0 回答
19 浏览

java - 如何解决“从对象到 CriteriaComboBox 的未经检查的转换" 在 Eclipse 中

我想知道如何在 Eclipse 中避免这种未经检查的强制转换警告,即使它可能不是必需的,因为我知道我将什么类型放入对象中。我的 CriteriaComboBox 扩展了一个 RenderedComboBox,它扩展了一个 JComboBox。我的班级属于 TEST.Criteria 类型。

有人可以建议这是否只是 Eclipse 中的一个错误?我应该添加一个抑制警告吗?还是我没有正确执行此操作?

在此处输入图像描述

这是代码片段:

这也给了我同样的警告:

我的 eclipse 版本是 2021-12 (4.22.0) 在 ubuntu 上运行。