gpt4 book ai didi

java - 关于这段Java代码的问题,为什么这么写

转载 作者:行者123 更新时间:2023-11-30 01:53:52 26 4
gpt4 key购买 nike

我遇到了这个源代码,并想确保我理解为什么它是这样写的(或者如果应该这样写):

boolean modified = false;
Set<String> possibleSites = settings.getPossibleSites();
Set<String> visibleSites = settings.getVisibleSites();
modified = someMysteriousMethod();

// Remove sites from visibleSites that are not in possibleSites
modified |= visibleSites.retainAll(possibleSites);

我对 LAST 语句的疑问:

  1. 为什么要使用按位运算符? keepAll() 将返回一个 boolean 值来说明发生了什么?

  2. 运算符/语句说什么?如果修改后的值等于返回值,则保留修改后的值,或者如果返回值不同,则将修改后的值设置为新值?

最佳答案

boolean retainAll(Collection<?> c)

返回true如果the set changed as a result of the call

modified |= visibleSites.retainAll(possibleSites);

所以上面的语句意味着,如果 modifiedtrueretainAll返回true,然后 modified设置为 true,否则 modified 的值是

关于java - 关于这段Java代码的问题,为什么这么写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com