java - 地图> 可能不包含字符串类型的值
问题描述
我无法让代码去else
阻止。代码总是在if
块内。有没有办法验证 Map<String, Map<String,String>> 的值。
我得到编译警告Map<String, Map<String, String>>
可能不包含类型的值String
。谁能告诉我如何验证这一点?
public class TestClass {
Map<String, String> map = new HashMap<String, String>();
Map<String, Map<String, String>> val= new HashMap<String, Map<String, String>>();
public void setData() {
map = new HashMap<String, String>();
map.put("10", "1000");
map.put("11", "alphabet");
map.put("12", "1002");
map.put("13", "1003");
val.put("1", map);
val.put("2", map);
val.put("3", map);
val.put("4", map);
}
public void showData() {
if (!this.val.containsValue("alphabet")) {
System.out.println("inside if ");
} else {
System.out.println("else");
}
}
public static void main(String args[]) {
TestClass obj = new TestClass();
obj.setData();
obj.showData();
}
}
解决方案
推荐阅读
- julia - Julia:在给定时间内运行外部进程并捕获其输出
- go - Golang:为什么 strings.Builder.WriteByte API 建议它可以返回错误?
- node.js - 节点子进程bash脚本中的嵌套json参数
- java - 我在使用用户定义的函数时遇到问题
- c# - WMPLib 音乐播放,但是当我切换标签时它停止
- algorithm - 这段代码的时间复杂度是多少?
- node.js - 将pdf-fill-form部署到heroku的问题
- swift - 如果更改,如何在 SFSafariViewWrapper 中获取 URL
- ios - 当帧速率设置为 60hz 时 SpriteKit 性能下降,但在 iPhone 13 上设置为 120hz 时不会
- c# - 使用 ASP.Net Web 应用程序的 DataAnnotation 强制执行身份密码规则