你才是SB。摸java才几天就号称发现bug,真是搞笑了。

解决方案 »

  1.   

    估計 JAVA就是對NULL這麼處理的吧?
      

  2.   

    呵呵,
    按理是不应该发生这种情况的呢!
    如果都采用new String()方法产生变量就好了
      

  3.   

    难道楼主想要NullPointerException?
      

  4.   

    不知道,不过java比较严格吧,定义了没有默认值的好像
      

  5.   

    Java是狗屎,Sun是狗,C#就很Sharp:
    String MSIs=null; 
    MSIs+="Smart";
    System.Console.WriteLine (MSIs);
    输出为:
    Smart
    这也说明了MS做事的风格还是很认真的,虽然目前在架构平台方面.NET还没干败J2EE,但我认为是迟早的事,Sun在官司上让步套现,全球裁员,EJB市场饱和,版本演进太慢等等,说明了什么?Sun要落山了,Java要喝干了.  .net明天会更好(明天我去瞧bill)
      

  6.   

    因为"+"运算符被String类overload了!只要其中一个运算数是String型,它会将另一个运算数自动转型,跟
    int i=8;
    String test=""+i;
    道理一样,你的代码中,"SB"是String型,所以null型就被自动转换为"null"了!
      

  7.   

    To: alienbat(亡灵法师) 
    我看过本书"叫冲出软件的牢笼",你这样的死鬼,就是书中自主经营着监狱的囚徒
      

  8.   

    to  alienbat(亡灵法师):
        有什么好笑!我到认为这位兄台挺认真。 你可以理想当然的认为Sun就是这么处理的,我却不认为这样做有什么好处!我宁愿相信这是他们的疏忽!
      

  9.   

    TO  redbirdli(火鸟)不懂JAVA就不要乱说,C#还是JAVA重要吗?
      

  10.   

    作茧自缚深陷其中而不自知,还沉醉于所谓恶心的无意义的徒劳无功事倍功半的无耻"技术",是技术吗?更像是狗屎,这种人和Java一样笨重迂腐不灵光,制造的麻烦比解决的问题多,还不如让Matrix中法国佬的丰乳老婆一枪打死算了.
      

  11.   

    Java和C#之间的东西不谈也罢,讨论这个全无意义!
    踏踏实实的做事,潇潇洒洒的做人!
      

  12.   

    to redbirdli(火鸟):
        "Java是狗屎,Sun是狗,C#就很Sharp:"
    言之偏颇。。
    俺就喜欢Java更甚于C#。
      

  13.   

    这样的输出正是经过了深思熟虑的结果。
    String s = null;s = “xxx” + s + "xxx" System.out.println(s);输出 xxxnullxxx的好处就是可以提醒程序员这里不可以用null,应该用“”C#就很Sharp:
    String MSIs=null; 
    MSIs+="Smart";
    System.Console.WriteLine (MSIs);
    输出为:
    Smart没有解决问题,而是带来更多的疑惑。
      

  14.   

    在应该用""的时候用null的程序员只能说自己弱智。
      

  15.   

    String sunIs=null; 
    sunIs+="SB";
    System.out.println(sunIs);个人认为是这样子的
    null也是一个类型
    String sunIs = nullnull.toString = "null"所以当你sunIs +="SB"的时候
    sunIs = nullSB
      

  16.   

    MyXin(快乐每一天) 兄:您说话还是比较中立中肯的,不过我在想一个问题,实施成本究竟是烦琐庞杂的Java体系有优势还是好学好用的MS体系有优势,客户要的真的是那些所谓的永无宁日的类重用吗?不是,他们只想要一个性价比好能快速部署和容易使用的系统而已.
      

  17.   

    String is not a abstract object.
      

  18.   

    to maowu(猫呜):    我认为这样输出反而不利于发现问题。C#也是一样。还不如直接给个NullException来得舒服!
      

  19.   

    首先你声明变量时的初始化有问题,最好String sunIs="";另外打印出null可以让编程人员意识到有变量没有合理的赋值,对于完善程序是件好事。
      

  20.   

    TO  redbirdli(火鸟)    不明白你为什么非要抓住具体的语言不放,有什么优劣之分??重要的是思想老兄!!    不管你使用什么语言,在返回String类型的时候记住判断如果是null则返回"",这是基本功!
      

  21.   

    to redbirdli(火鸟) :
       好学易用好像正是Sun宣传的JAVA优势。相对于VC庞大的MSDN,JAVA语言更为干净利落。其最大的好处还在于它的开源。通过对Java类库的源码分析,我们能更加容易的掌握它。事实上,这是我从VC转移到Java的原因所在。对于C#, 俺只是看了一小眼。不敢妄言。
       在实施成本方面,就目前情况而言,Java好像是比MS的要高一些。但主要的原因恐怕不在Java语言本身。诚如兄言,客户只想要一个性价比好能快速部署和容易使用的系统并不关心其制造材料。但我所接触到的一些客户给我的反馈是,“他们要求我们用JAVA开发的原因一则是应为JAVA产品相对安全,二则是后期维护成本可能会相对较低------也许他们厌倦了Windows”
       任何一种事物能够生存肯定有它的道理.
       
      

  22.   

    我同意eshow(深山含笑)的解释。
      

  23.   

    TO  redbirdli(火鸟)
    送你一个字:无知。很无知。
      

  24.   


    String sunIs=null; 
    sunIs+="SB";
    System.out.println(sunIs);原因在于:
    (这里假设System.out对应的类没有覆盖PrintStream的print(String)方法)System.out的类型是PrintStreamPrintStream.println先是调用PrintStream.print(String)
    然后再输出一个换行符。看PrintStream.print(String)的api help 如下:
    print
    public void print(String s)Print a string. 
    If the argument is null then the string "null" is printed. 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Otherwise, the string's characters are converted into bytes 
    according to the platform's default character encoding, and 
    these bytes are written in exactly the manner of the write(int) 
    method. Parameters:
    s - The String to be printed
      

  25.   

    to redbirdli(火鸟)你这种料,我可以预料即使是搞C#你也是个烂泥巴糊不上墙的角色。就你这水准还为微软摇旗呐喊,真是可笑透顶。
    别以为沾大公司的光,“参加”某个阵营好像你的地位就无形中上升了,无形中与IT巨头或者开源领袖什么的并驾齐驱了;不管你捧哪一方,贬低哪一方,你都只是个小垃圾程序员,无论你如何追赶潮流和业界的脉动,为谁欢呼喝彩,你都只是个压根不懂技术真谛的软件民工。从你发的问题以及说话的方式就可以看出来,你是个可怜的coder。
      

  26.   

    我们的客户就要我们把原来C#的程序改为j2ee,
    因为他们已经厌倦了c#
      

  27.   

    TO:  maowu(猫呜) 很赞同你的观点.
    没有不好的语言,只有不好的程序员.
    大家来这是为了学java的,不是为了争吵,也不是为了某个公司做广告的.
      

  28.   

    天气这么热,还有人那么激动。大家就不要再跟着去激动了。
    Banned(Evil) 的看法是正确的吧
      

  29.   

    C#?
    就是那个被叫Cava的么
    嘿嘿
    表以为这里都没做过.net项目至于疏忽么
    我想你也是写程序的,有没有把null疏忽成"null"过?如果有,告诉我好了
      

  30.   

    支持
     回复人: alienbat(亡灵法师) ( ) 信誉:105  2004-06-30 19:43:00  
    !!
      

  31.   

    回复人: eshow(深山含笑) ( ) 信誉:105  2004-06-30 16:47:00  得分: 0  
     
     
       因为"+"运算符被String类overload了!只要其中一个运算数是String型,它会将另一个运算数自动转型,跟
    int i=8;
    String test=""+i;
    道理一样,你的代码中,"SB"是String型,所以null型就被自动转换为"null"了!
      
     
    问题本质!!!!支持!!!!!
      

  32.   

    你信不信我下面都会:
    .net/c#/asp.net/.netremoting/webservice/com+,
    j2ee/jsp/servlet/applet/swing/awt/javabean/tag/ejb/rmi/jmail/jndi/,
    weblogic,
    tomcat,
    jbuilder,
    oracle,
    sql server,
    NOKIA平台上J2ME游戏,
    WAP/ASP/JSP/,
    SMS,MMS,
    DELPHI,
    VB,
    C++BUILDER,靠,想我干过的活还真多。
    这只说明掌握一门编程技术是多么的不难。
      

  33.   

    为了我们的JAVA能不断提高 ,让我们一起努力到"JAVA田地"中.
     那里有很多高手乐意帮忙.也有刚出道的少年. QQ群 号码:4025186