相关疑难解决方法(0)

类型安全:未经检查的演员

在我的spring应用程序上下文文件中,我有类似的东西:

<util:map id="someMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.lang.String">
    <entry key="some_key" value="some value" />
    <entry key="some_key_2" value="some value" />   
</util:map>
Run Code Online (Sandbox Code Playgroud)

在java类中,实现如下:

private Map<String, String> someMap = new HashMap<String, String>();
someMap = (HashMap<String, String>)getApplicationContext().getBean("someMap");
Run Code Online (Sandbox Code Playgroud)

在Eclipse中,我看到一条警告说:

类型安全:从Object到HashMap的未选中转换

我做错了什么?我该如何解决这个问题?

java spring unchecked type-safety

248
推荐指数
7
解决办法
34万
查看次数

java泛型协方差

我无法理解以下文章:http: //www.ibm.com/developerworks/java/library/j-jtp01255.html

下,

泛型不是协变的

作者说,

因为ln是一个List,所以添加一个Float似乎是完全合法的.但是如果ln与li混淆,那么它将破坏li定义中隐含的类型安全承诺 - 它是一个整数列表,这就是泛型类型不能协变的原因.

我无法理解它所说的"如果ln与li混淆"的部分.作者对别名的含义是什么?(参考?).引用行上方的代码片段似乎说明了什么在java中是非法的而不是为什么.如果有人能用一个例子来解释,对我来说会很有帮助.提前致谢.

java generics alias covariance

20
推荐指数
2
解决办法
1万
查看次数

在Java中重载方法

在以下代码段中,有三个版本的方法命名show().

package overloading;

import java.util.ArrayList;
import java.util.List;

public final class Main
{
    private void show(Object object)
    {
        System.out.println("Object");
    }

    private void show(List<Object> list)  //Unused method
    {
        System.out.println("List");
    }

    private void show(Object[] objects)
    {
        System.out.println("Objects");
    }

    private void addToList()
    {
        List<String>list=new ArrayList<String>();
        list.add("String1");
        list.add("String2");
        list.add("String3");
        show(list); // Invokes the first version

        String []s={"111", "222", "333"};
        show(s);   // Invokes the last version
    }

    public static void main(String[] args)
    {
        new Main().addToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这个最简单的Java代码中,此方法调用show(s);(方法中的最后一行addToList())调用重载方法的最后一个版本.它提供了一个字符串数组 …

java oop overloading

4
推荐指数
1
解决办法
412
查看次数

标签 统计

java ×3

alias ×1

covariance ×1

generics ×1

oop ×1

overloading ×1

spring ×1

type-safety ×1

unchecked ×1