国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

當集合里存儲的是URL時的一些問題總結(jié)

2019-11-14 23:44:48
字體:
供稿:網(wǎng)友
當集合里存儲的是URL時的一些問題總結(jié)

先看道題吧:

package com.lk.C;import java.net.MalformedURLException;import java.net.URL;import java.util.HashSet;import java.util.Set;public class Test3 {    PRivate static final String [] URLNAMES = {        "http://www.sina.com",//202.108.33.94        "http://www.nuw.edu.cn",//124.115.173.252        "http://javapuzzlers.com",//208.97.154.9        "http://www.google.com",//64.233.189.147        "http://Javapuzzlers.com",//208.97.154.9        "http://apache2-snort.skybar.dreamhost.com"http://208.97.154.9    };    public static void main(String[] args) throws MalformedURLException {        // TODO Auto-generated method stub        Set<URL> favorites = new HashSet<URL>();        for(String urlName : URLNAMES){            favorites.add(new URL(urlName));        }        System.out.println(favorites.size());    }}

輸出什么?

答案:

在聯(lián)網(wǎng)的狀態(tài)下會輸出4,這是由于URL的equals比對方式。根據(jù)equals的文檔說明:如果兩個主機名可解析為同一ip地址,則認為兩個主機相同(即使主機名不等);如果有一個主機名無法解析,但這兩個主機名相等(不區(qū)分大小寫),或者兩個主機名都為null,則也認為這兩個主機相同。

也就是說,如果兩個URL的IP地址是相同的,那么這兩個URL就是相等的。

如果在斷網(wǎng)時,這些都是無法解析成為IP地址的,這是就要判斷URL的名字,僅認為名字相同時才是相同URL(不區(qū)分大小寫),所以輸出是5。

所以:不要把URL應用與Set和Map的key中,可以使用URI來代替,這樣就不存在網(wǎng)絡問題了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸水县| 枣庄市| 南皮县| 宁远县| 株洲县| 滦平县| 德清县| 宜黄县| 马龙县| 玛沁县| 江都市| 水富县| 镇赉县| 万山特区| 济宁市| 寻甸| 长寿区| 绥芬河市| 交城县| 吴江市| 怀柔区| 石狮市| 独山县| 玉山县| 新河县| 驻马店市| 石阡县| 萨迦县| 凤山市| 平遥县| 天峨县| 工布江达县| 夏河县| 卢氏县| 富宁县| 辽源市| 珠海市| 广昌县| 大田县| 苗栗县| 凯里市|