`
a1241312
  • 浏览: 4002 次
文章分类
社区版块
存档分类
最新评论

java的表达能力弱爆了

阅读更多

一个很简单的东西,用c#...

 

List<string> keywords = ...;
var result = keywords
    .GroupBy(k => k[0])
    .ToDictionary(
        g => g.Key,
        g => g.OrderBy(k => k).ToList());

 

 如果用 java...

 

List<String> keywords = ...;
keywords
.groupBy(
  new F<String, Character> {
    public Character f(String s) { return s.charAt(0); }
  })
.toMap(
  new F<Grouping<Character, String>, Character> {
    public Character f(Grouping<Char, String> g) {
      return g.getKey();
    }
  },
  new F<Grouping<Character, String>, List<String>> {
    public List<String> f(Grouping<Character, String> g) {
      return g
        .orderBy(
          new F<String, String> {
            public String f(String s) { return s; }
          })
        .toList();
    }

  });

 

 

彻底杯具了,唉,本来多么简单的问题,搞的这么复杂。

 

看看 Listener侦听的N种写法 http://blog.csdn.net/sunboy_2050/article/details/7489274

 

这些写法都很糟糕,都比不过委托,明明一个单纯的函数即可解决问题,非得搞一个类,弄得蛋疼无比。

 

还要另外的选择是scala,不过,我觉得太复杂的,表示压力很大。

 

用python也不错,但是,代码自动完成,自动重构,无语了。

 

 

我对java不算很熟,不知道那些java大师怎么想,他们到底是怎么过来的啊。

 

我的猜测:

 

1. 大多数时候写极其白痴简单的代码,压根用不了那么多特性,此时要的是语法白痴,代码长点无所谓

 

2. 写多了也就习惯了,也就不难看了,反正java是最完美的语言。

 

3. 没办法,为了向下兼容,只好不加入委托了。

 

4. 哥也不想用java啊,但为了混饭吃。

 

 

无论如何,我实在受不了这么冗长的代码。

 

就到这里,以后啥不爽,继续吐槽。。。

 

ps:我还是学生,学编程纯属爱好。

代码抄自"java黑": http://blog.zhaojie.me/2010/04/why-java-sucks-and-csharp-rocks-2-primitive-types-and-object-orientation.html

 

分享到:
评论

相关推荐

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    java源码包---java 源码 大量 实例

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    ### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....

    Java 面经手册·小傅哥.pdf

    这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...

    java集成webkit浏览器

    总结来说,Java集成WebKit浏览器是一项通过SWT和第三方库实现的技术,它使得Java应用能够具备强大的网页渲染能力,同时需要注意系统架构的匹配以及与JavaScript的交互。通过示例程序和提供的文档,开发者可以学习并...

    Java2Pas Java代码转pas代码

    Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...

    Java调用SPSS的实例

    总的来说,Java调用SPSS是一项实用的技术,它允许开发者利用Java的强大功能和SPSS的统计分析能力,实现数据处理和分析的自动化。不过,由于SPSS的语法有一定的学习曲线,开发者需要对SPSS有一定程度的了解,并熟悉其...

    java实现课程表

    【Java实现课程表】是一个基于Java编程语言设计的特定于某个学校的教务系统课程表程序。...通过分析和修改这个项目,开发者可以提升自己的Java编程能力,并理解如何将编程技术应用于实际问题的解决。

    自考java 04747《Java语言程序设计(一)》教材电子版

    在自考Java的过程中,除了理解和掌握以上知识点,还需要大量实践以提高编程能力。通过编写小程序、参与项目开发,可以更好地消化理论知识,提高解决问题的能力。同时,不断关注Java的新特性和最佳实践,能够让你在这...

    JAVA实习报告 java

    同时,实习也是检验和强化大学期间所学专业知识的有效方式,锻炼实际操作能力和团队协作精神,为毕业后顺利进入工作环境打下坚实基础。\n\n2. 实习时间与地点:\n实习期为2010年3月15日至2010年6月6日,地点在武汉...

    Java 中文入门学习手册合集[chm版]

    第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...

    java转js工具

    Java到JavaScript转换工具有助于开发者将已有的Java代码库移植到JavaScript环境中,这在Web开发中尤其有用,因为JavaScript是浏览器端的主要脚本语言。这样的工具能够帮助开发者利用Java的强大功能来构建前端应用,...

    java程序员转正ppt

    问答环节是评估个人能力的重要部分,需要准备回答关于Java编程、项目经验、问题解决能力等方面的问题。此外,展示团队协作能力和持续学习的态度也是成功转正的关键因素。 总结来说,Java程序员转正涉及到的技术...

    java源码包3

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    Java API文档 中文网页版

    Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、方法和常量的详细说明。这份中文网页版的Java API文档为中国的开发者提供了便利,无需通过英文版本来学习和查找API信息,...

    Java Runtime Environment JRE 1.4.2

    此外,JRE 1.4.2还包含了Java安全管理器,它提供了控制Java应用程序访问系统资源的能力,增强了系统的安全性。这一版本还引入了Java的增强注解(Annotations),这是一种元数据,可以用于提供编译时和运行时的信息,...

    基于Java的RTSP服务源码

    VLC的源码包含了解析和播放RTSP流的能力,可以作为参考来理解如何在Java RTSP服务器中与VLC客户端进行交互。 6. 源码分析与应用 "rtspserver"这个文件很可能是Java RTSP服务的源代码。通过阅读和分析这些源码,可以...

    Java虚拟机(Java VM) msjavax86 微软java虚拟机

    这种跨平台能力得益于Java的平台无关性,Java虚拟机成为连接不同系统平台的关键桥梁。 微软Java虚拟机(msjavax86)是微软公司开发的一款JVM实现,专为Windows平台设计。与Sun Microsystems(现在被Oracle收购)的...

    java源码包2

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

Global site tag (gtag.js) - Google Analytics