java - 如何覆盖地图中的 toString ...?
问题描述
package A;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
class MapManager {
static Map<String, Double> readData(String str){
Map<String, Double> map = new TreeMap<String, Double>();
try {
BufferedReader br = new BufferedReader(new FileReader(str));
while(true) {
String line = br.readLine();
if(line == null) break;
String []sr = line.split(" ");
double num = Double.parseDouble(sr[1]);
map.put(sr[0], num);
}
br.close();
}catch(IOException e) {
e.printStackTrace();
}
return map;
}
}
public class A {
public static void main(String args[]) {
Map<String, Double> map = MapManager.readData("input.txt");
if(map == null) {
System.out.println("Input file not found.");
return;
}
System.out.println(map);
}
}
屏幕上的输出是:
...但我想做:
...
我的教授说“你必须在类 Map 中覆盖 toString”但 Map 是接口,那么如何覆盖 Map 中的 tostring ..?而且我不能修改公共类A。如果有一些想法可以做出我想要的结果,请告诉我:))
解决方案
这是最简单的方法:
TreeMap<String, Double> map = new TreeMap<String, Double>(){
@Override
public String toString() {
return "override here";
}
};
推荐阅读
- javascript - Odin 项目图书馆应用程序:如何将评级添加到我的书卡?
- svg - 将两个 SVG 元素合并为一个以实现连续渐变
- vuejs2 - 传递给 'exclude' 选项的插件/内置 'es.const, es.let' 无效
- php - 如何拆分数组并将它们分组
- python - 将 DataFrame 保存为 .csv,列数据类型:对象(列表)。加载 DataFrame 但列数据类型是对象(str),我错过了什么?
- c# - OpenGL 3.3 中仍然需要 glEnableClientState - OpenGL.NET?
- reactjs - NextJS/CookieBot:带有 data-blockingmode="auto" 的 CookieBot 脚本阻止加载动态生成的脚本
- javascript - window.setInterval 在实现承诺后冻结网页
- python - .astype() 不适用于整个数据帧,但适用于 for 循环中的列
- flutter - 自动浏览颤动的屏幕