小编Jav*_*vad的帖子

'make -n'相当于蚂蚁

根据make的手册页,-n选项执行以下工作:

Print the commands that would be executed, but do not execute them.

我正在寻找一个在Apache Ant中行为相同的选项.

ant makefile

9
推荐指数
1
解决办法
1455
查看次数

为什么HashMap"不包含"仅在内部更改的键?

在我的程序中,我有一个HashMap.它将字符串的HashSets作为其键,将字符串的PriorityQueues作为其值.当我更改其中一个键的内容时,它不再保留为HashMap的成员.这对我来说似乎很奇怪,因为我没有更改密钥的引用.我只是改变了它的内容.请看下面的代码:

HashMap<HashSet<String>, PriorityQueue<String>> myHashMap=new HashMap<>();

HashSet<String> myHashSet=new HashSet<>();
myHashSet.add("abc");
myHashSet.add("mnq");
myHashSet.add("al;ksghl");

PriorityQueue<String> myPriorityQueue=new PriorityQueue<>();
myPriorityQueue.add("3h4");
myPriorityQueue.add("lskdjf");

myHashMap.put(myHashSet, myPriorityQueue);

if(myHashMap.containsKey(myHashSet))
    System.out.println("Yes!");

myHashSet.remove("abc");

if(myHashMap.containsKey(myHashSet))
    System.out.println("Yes!");
Run Code Online (Sandbox Code Playgroud)

基本上,我希望看到两个"是的!",实际上,它只打印一个.我做了一个彻底的调试,并意识到myHashSet的参考号在删除其中一个成员后没有改变.所以,这个程序没有理由不打印第二个"是的!".

任何形式的帮助都非常感谢.

java collections identity map

0
推荐指数
1
解决办法
132
查看次数

标签 统计

ant ×1

collections ×1

identity ×1

java ×1

makefile ×1

map ×1