![]() |
1
222
好吧,首先,你在浪费新的记忆
其次,编译器抱怨您将对象强制转换为
你可能仍然会收到这个警告。问题是,
hashmaps实际上是以对象为键并以对象为值的映射,
如果代码编译,并且可以执行
|
![]() |
2
271
问题是,强制转换是一个运行时检查——但是由于类型擦除,在运行时,在
使用
|
![]() |
3
67
如上所示,列表不能在
我已经为类似的问题解决了此错误消息:
包括以下内容:
说明:第一个类型转换验证对象是否是列表,而不关心其中包含的类型(因为我们无法在列表级别验证内部类型)。第二个转换现在是必需的,因为编译器只知道列表包含某种对象。这将在访问列表时验证列表中每个对象的类型。 |
![]() |
4
24
警告就是这样。警告。有时警告无关紧要,有时则不然。它们用于提醒您注意编译器认为可能存在问题但可能不存在的问题。 在铸造的情况下,在这种情况下,它总是会给出警告。如果您完全确定特定的强制转换是安全的,那么您应该考虑在行之前添加这样的注释(我不确定语法):
|
![]() |
5
9
您收到此消息是因为getbean返回一个对象引用,并且您正在将其强制转换为正确的类型。Java 1.5给你一个警告。这就是使用Java 1.5的性质,或者更好地使用这样的代码。弹簧有类型安全型
在它的待办事项列表上。 |
![]() |
6
5
如果您真的想消除警告,您可以做的一件事是创建一个扩展自泛型类的类。 例如,如果您试图使用
你可以创建一个这样的新类
然后当你使用
编译器确实知道(不再通用)类型是什么,并且不会出现警告。这可能并不总是一个完美的解决方案,有些人可能会认为这种方法破坏了泛型类的目的,但是您仍然在使用来自泛型类的所有相同代码,您只是在编译时声明您要使用的类型。 |
![]() |
7
1
另一个解决方案是,如果你发现自己对同一个对象进行了大量的强制转换,并且你不想乱扔代码
|
![]() |
8
1
避免未选中警告的解决方案:
|
![]() |
9
0
以下代码导致类型安全警告
创建一个新的映射对象而不提及参数,因为列表中包含的对象类型未经验证。 步骤1: 创建新的临时映射
步骤2: 实例化主映射
步骤3: 迭代临时映射并将值设置到主映射中
|