java - 如何将哈希表向下转换为抽象类对象

标签 java inheritance hashtable abstract-class

我正在开发一个 Feed RSS 解析器,但我一直纠结于应该从中得到什么。 我将提要的 URL 和要读取的元素作为输入(例如:标题、描述...),并且我曾经获取哈希表的数组列表,其中每个键都是一个元素:

ArrayList<Hashtable<String,String>>

但我想把事情做得更好。由于我的应用程序中有一些类管理从不同 URL 检索的新闻(类 News1、News2、News3),所以我想返回一个 ArrayList,其中每个元素都有一个抽象方法(其实现将根据 News1、2 或 3 进行更改) ) 将哈希表转换为对象的属性。 我的问题是我不知道如何将每个字典转换为从抽象类派生的对象......我什至尝试创建这样的东西:

public abstract class GenericNews extends Hashtable<String, String> {
    public abstract News getObject();
}

但我不能沮丧。我怎样才能做到呢? 感谢您的帮助。

最佳答案

您将无法施放它。您将需要创建包装 HashTable 的 GenericNews 对象的新实例,然后返回该实例。

另外,我不确定在通用新闻中实际扩展 Hashtable 是否明智 - 为什么不让你的 ArrayList 成为 ArrayList<GenericNews>并在 GenericNews 上有方法来访问其中的项目,例如 getNewsItem(String keyword) .

关于java - 如何将哈希表向下转换为抽象类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411952/

相关文章:

python - Partition Equal Subset Sum 的解决方案性能(DP,哈希表)

java - Google Maps API 和标记之间的自定义折线路线

java - 在java中使用线程绘制面板

c++ - 通过对基类的引用调用虚函数

java - 如何对 Java 哈希表进行排序?

c# - 完美的散列函数能保证不发生冲突吗?

没有spring security的java mvc授权

java - 为什么我不能使用 get 方法从另一个类中访问在另一个类中声明的 TreeMap

java - 垃圾收集的对象数

xaml - 如何建议从 Xamarin.Forms XAML 中的隐式样式继承?