【发布时间】:2014-03-19 07:46:23
【问题描述】:
Java:我已经实现了我自己的Binary Heap 版本。它应该能够存储任何类型的 Comparable 对象。插入到堆中的对象来自输入数据,并且所有输入数据将属于同一类型。有没有办法告诉给定输入是什么对象类型?我正在使用
BufferedReader in = new BufferedReader(new InputStreamReader(System.in))
读取输入,in.readLine() 总是返回一个字符串。现在,我正在明确测试用户是否输入了整数,否则该对象始终存储为字符串。
读取输入的最佳方法是什么,看看它是什么类型,然后创建该类型的BinaryHeap<T>,然后正确插入?
【问题讨论】:
-
任何对象都可以转换为字符串,但反向方法不可用(或不可能)。您必须为自己期望作为输入的所有类型添加“显式测试”,就像您为 Integer 所做的那样。
标签: java input bufferedreader comparable binary-heap