java集合类面试题以下程序的输出结果是什么

import java.util.*;


import java.net.MalformedURLException;
import java.net.URL;
public class Test {
private static final String[] URLNAMES = {

"http://www.sina.com", //IP地址为202.108.33.94

"http://www.nwu.edu.cn", //IP地址为124.115.173.252
"http://javapuzzlers.com", //IP地址为208.97.154.9
"http://www.google.com", //IP地址为64.233.189.147
"http://Javapuzzlers.com", //IP地址为208.97.154.9
"http://apache2-snort.skybar.dreamhost.com",  //IP地址为208.97.154.9
};
public static void main(String[] args) throws MalformedURLException{
Set<URL> favorites = new HashSet<URL>();
for(String urlName : URLNAMES)
favorites.add(new URL(urlName));
System.out.println(favorites.size());

}

}

A 一定是4  B .一定是5  C.一定是6   D以上答案皆不正确

答案:D

解析:联网状态下会输出4,URL的equal对比方式。根据文档说明:如果两个主机名可解析为同一IP地址,则认为两个主机相同(即使主机名不等)。

"http://javapuzzlers.com", //IP地址为208.97.154.9
"http://Javapuzzlers.com", //IP地址为208.97.154.9
"http://apache2-snort.skybar.dreamhost.com", //IP地址为208.97.154.9   

上面3个IP地址是相同的,都是208.97.154.9   ,所以在Set时都把它们当成同一个。 答案为4.


断网时候,这些都成为无法解析成为IP地址,这时就要判断URL的名字。仅认为名字相同时才是相同的URL。"http://javapuzzlers.com",
"http://Javapuzzlers.com", 因为不区分大小写,所以默认两者相同。答案为5。



出自JAVA程序员面试宝典(三) 欧立奇


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值