金牌译作 Java谜题选 - II

1915个读者 翻译: 易晓斓  08/24/2007 原文 引用 双语对照及眉批 字体大小

题目2:关于Sets的更多Fun。

对了,这个题目表面上看也是关于Sets的...

程序

import  java.net.*;
public class UrlSet {
    private static final String[] URL_NAMES = {
       "http://javapuzzlers.com",
       "http://apache2-snort.skybar.dreamhost.com",
       "http://www.google.com",
       "http://javapuzzlers.com",
       "http://findbugs.sourceforge.net",
       "http://www.cs.umd.edu"
      };

    public static void main (string[] args)
                   throws MalformedURLException {
          Set<URL> favorites = new HashSet<URL>();
          for (String urlName : URL_NAMES)
                favorites.add(new URL(urlName));
           System.out.println(favorites.size());
    }
}

答案

(a) 4
(b) 5
(c) 6
(d) None of the above

请大家想想,踊跃发表意见。答案和分析之后发布。谢谢。

继续阅读
  • 高效的Java异常处理

    Java开发人员可以做出的最重要的架构性决策之一就是如何使用Java异常模型。Java异常一直以来就是社群中许多争议的靶子。有人争论到,在Java语言中 的异常检查已是一场失败的试验。本文将辨析,失...

  • 乔布斯宣布在轻量级计算时代中抛弃臃肿的Java

        在这个挑剔刚刚被聚焦到JAVA的年头,又在相同的月份斯蒂文乔布斯再度跳出来发表声明,这次是关于AppleiPhone上的语言支持的:“Java根本不值得被嵌入,因为根本就没人会再去用它了!(...

  • Java谜题选 - I

    译者: 最新的一批(准确的说,8道)Java Puzzlers出来了。下面我会把这8道题和答案分析,注意事项,以及经验教训分批翻译给大家。为了给大家一个思考的时间,我先把题目发出来,之后再发布答案。下...

  • Java谜题选 - III

    题目3:看谁跑得快的数字... 译者序:其实这个程序和单元测试无关,更多的是并发的问题。但需要了解assertEquals方法的使用。 程序 public class Test extends ju...

  • Java谜题选 - I 之答案

    谜题一之答案,分析过程,以及经验教训  答案 (b)100 分析过程 1 在Set中加入的是一个Short值,但是删除的却是Integer的值。(译者:从留言中,很高兴看到有些朋友看到了这一点) 2...

  • Java谜题选 - II 之答案

    译者序: 因为最近忙,这个第二集的答案出得太晚了点,希望大家见谅。 另:程序中的一行忘记了括号,Set favorites = new HashSet(); 我已经加上了,多谢读者的细心。 谜题一之答...

  • 果壳中的Java —— Chapter 1

    David Flanagan 是一个醉心与java写作的计算机程序员。《java in a nutshell》与《java examples in a nutshell》属于姊妹篇。本书是一本java...

  • Java会灭亡吗

    宇宙中的巨大云团处会有许多新星诞生,它们中有的有幸接触到临近物质,然后核内开始熔化聚合;而有些却没有接触到临近物质也无法熔化聚合。对于前者,他们聚合大量物质成为明亮的星星,星光闪耀,而后者很快衰落黯...

相关小组

标签:

内容有问题?请与我们联络。

译作评分

  • Currently 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5
 0.0  |  0 个评分

10条评论    0眉批

  • 1.

    twg 童生

    选择  D

    08/24/2007

  • 2.

    yzx110 童生

    D吧
    java不太熟悉,不过我才像Set之类的也肯定是
    批量分配存储空间的,那么size可能初始化就比6大了。
    代码没问题么?
    Set<URL>  favorites  =  new  HashSet<URL>$$
    不该写成
    Set<URL>  favorites  =  new  HashSet<URL>()$$???

    08/24/2007

  • 3.

    foreverclq 童生

    刚开始偶还以为是6呢,run一下才知道,嘿嘿
    josh  构造那两个URL  还真有心机  哈哈

    btw,Google  video  偶看不了,  楼主是用代理吗?

    08/24/2007

  • 6.

    foreverclq 童生

    和null无关的,和set有关的是hash,还是hash...
    哈哈

    08/26/2007

  • 7.

    vole 童生

    hashCode要一样,然后还要equals哦

    08/27/2007

  • 8.

    HiugongGwok 童生

    这个太阴了,明明是URL的实现有问题。实现URL的人破坏了hashCode、equals的契约。当然当初写URL类的时候Josh还没写他那本Effective  Java,大家都没重视这个问题。

    08/27/2007

  • 9.

    sohochaser 童生

    将main改了一下:

    public  static  void  main  (String[]  args)
                                         throws  MalformedURLException  {
                       Set<URL>  favorites  =  new  HashSet<URL>()$$
                       for  (String  urlName  :  URL_NAMES)
                       {
                                   System.out.print(favorites.add(new  URL(urlName)))$$
                                   System.out.println("->  "+urlName)$$
                       }
                         System.out.println(favorites.size())$$
           }

    输出:

    true->  http://javapuzzlers.com
    false->  http://apache2-snort.skyba...
    true->  http://www.google.com
    false->  http://javapuzzlers.com
    true->  http://findbugs.sourceforge.ne...
    true->  http://www.cs.umd.edu
    4


    false->  http://apache2-snort.skyba...  这个错什么原因啊?是dreamhost的原因吗?保留字?改成dreamhostt就没有问题了

    10/07/2007

  • 10.

    易晓斓 状元

    sohochaser,  你读一下我的谜题答案就明白了。

    10/08/2007

添加评论

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译