假设我在Java中使用此代码:
HashSet<String> wordSet = new HashSet<String>();
String a = "hello";
String b = "hello";
wordSet.add(a);
Run Code Online (Sandbox Code Playgroud)
会wordSet.contains(b);回来true还是false?根据我的理解,即使它们的值相同,a也可以b参考不同的对象.所以contains()应该回来false.但是,当我运行此代码时,它返回true.只要包含值,无论String对象来自哪里,它总会返回吗?我总是保证这个吗?truebb"hello"如果没有,我什么时候不保证这个?如果我想用除Strings之外的对象做类似的事情怎么办?
FileInputStream fis = new FileInputStream(gzipFile);
GZIPInputStream gis = new GZIPInputStream(fis);
gis.close();
fis.close();
Run Code Online (Sandbox Code Playgroud)
fis.close()是否必要?虽然我正在运行此代码,但似乎没有任何错误.