java - 我为 SortedMap 创建了一个 put() 方法,但似乎无法让测试代码工作
问题描述
我只是无法让它工作。想法是设计一种在 Map 中添加 Key Value 对的方法,虽然程序编译正确,但测试格式为“tracker.put("17/06/2019", "Jeffrey Burns");" 的代码会报错信息
我尝试将方法参数更改为(字符串,列表)。
public class OfficeDeliveryTracker
private SortedMap<String, List<String>> deliveryTracker;
/**
* Constructor for objects of class OfficeDeliveryTracker
*/
public OfficeDeliveryTracker()
{
this.deliveryTracker = new TreeMap<>();
}
/**
* Adds key-value pair to the map
*/
public void addMapEntry(String key, String value)
{
List<String> list = deliveryTracker.get(key);
if (list == null) {
list = new ArrayList<String>();
}
list.add(value);
deliveryTracker.put(key, list);
}
我期望测试代码 tracker.put("17/06/2019", "Jeffrey Burns"); 工作,而是得到“错误:第 1 行 - 找不到符号 - 方法 put(java.lang.String,java.lang.String)”
解决方案
查看以下代码:
正如您使用
SortedMap<String, List<String>>
的那样,它将字符串作为键,将字符串列表作为值。
你不能使用tracker.put("17/06/2019", "Jeffrey Burns")
“Jeffrey Burns”是字符串而不是字符串列表
public class OfficeDeliveryTracker {
private SortedMap<String, List<String>> deliveryTracker;
/**
* Constructor for objects of class OfficeDeliveryTracker
*/
public OfficeDeliveryTracker() {
this.deliveryTracker = new TreeMap<>();
}
/**
* Adds key-value pair to the map
*/
public void addMapEntry(String key, String value) {
List<String> list = deliveryTracker.get(key);
if (list == null) {
list = new ArrayList<String>();
}
list.add(value);
deliveryTracker.put(key, list);
}
public static void main(String[] args) {
OfficeDeliveryTracker tracker = new OfficeDeliveryTracker();
//tracker.put("17/06/2019", "Jeffrey Burns"); // Error : The method put(String, String) is undefined for the type OfficeDeliveryTracker;
tracker.addMapEntry("17/06/2019", "Jeffrey Burns");
}
}
推荐阅读
- c# - 从 asp.net 中的存储库访问异步任务时没有任何反应?
- android - 如果没有 maxSDKVersion,我的应用会在 Playstore 控制台中显示 API 级别 17-19
- python - 将数字文本文件读入不带单引号 Python 的列表
- javascript - 将点击事件附加到ckeditor中的元素
- python - / __init__() 处的 TypeError 采用 1 个位置参数,但给出了 2 个
- c# - 在 Xamarinforms 中捕获整个滚动页面的屏幕截图
- c++ - 具有默认成员初始化器的结构不能在类内部并用作默认参数
- postgresql - Postgresql 触发器语法插入或更新或删除
- microsoft-graph-api - Microsoft Graph - 发送带有文本和 html 正文的电子邮件
- c# - C# .net 4 无法连接到远程服务器