Java - 从 Object 到 Map.Entry<String,String> 的未经检查的转换

标签 java casting hashtable

我在“Map.Entry entry = (Entry) o;”上有一个“从对象到 Map.Entry 的未经检查的转换”

我认为一切正常,我可以安全地添加抑制警告,但我不确定。这是我的代码。

public abstract class WebPath {
    protected Hashtable<String, String> wp;

    public String get(String whatDoYouWant) {
        for (Object o : wp.entrySet()) {

            Map.Entry<String, String> entry = (Entry<String, String>) o;
            if (whatDoYouWant.equals(entry.getKey())) {
                return (String) entry.getValue();
            }
        }

        return null;
    }
}

谢谢大家,祝大家有个愉快的一天!

最佳答案

不要压制警告,它会给你很好的建议!您选择将每个条目分配给无信息基类 Object ,而不是更精确的类型,Map.Entry<String, String> .如果修复 for 循环,您将消除警告:

for(Map.Entry<String, String> o : wp.entrySet()) {

关于Java - 从 Object 到 Map.Entry<String,String> 的未经检查的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273962/

相关文章:

java - 如何从字节中获取某个位置的位值?

java - 相同的删除,但类型不同。

java - 快速静态持久哈希表

language-agnostic - 哪种数据结构适合这种情况?

java - 我需要同步ExecutorService.execute()吗?

java - 是否可以通过反射处理类元数据以确保 DRY 方法?

java - 从字符串中删除设置的子字符串

casting - 如何安全地、惯用地在数字类型之间进行转换?

c++ - 在 C++ 中使用 istringstream 进行字符串到双重转换的意外结果

arrays - 有序数组中重复的数字