IKVM 编程武林之.NET派的北冥神功
为什么80%的码农都做不了架构师?>>>
在编程武林中,Java派成立较久底子雄厚,虽然掌门人Sun已经老态龙钟,镇山之技的Java语言已经被后进的新秀.NET派的C#压得喘不过气来,甚至有时候Sun老大还得跑到.NET派潜伏学艺。但是百足之虫,死而不僵,一众Java派的拥趸们自认虽然Java渐渐技不如人,但是Java派成立日久,从Java演化过来的七十二门绝技绝非武林暴发户.NET派所能比拟,其中几大支派如apache,springsource各有绝技,而衍生出的帮会、黑社会等等更是不计其数,.NET派望尘莫及。
然而江湖传言有不世神功叫北冥神功,“北冥有鱼,其名为鲲,鲲之大,不知其几千里也……”,能够容纳几千里的大鱼必定是非常广阔的海洋,因而北冥神功正是寓含了广大恢宏之意,也体现了神功的威力。“可以吸取他人的内力以供己用,是迅速提升功力的捷径。内力既厚,天下武功无不为我所用,犹如北冥,大舟小舟无不载,大鱼小鱼无不容。”
.NET派的几位高人闭关苦练,竟然悟出北冥神功,此神功后曰:IKVM.NET.
江湖后辈小子Ray Linn偶习此神功,得心得一二,不敢自珍,特此记之,以壮大我.NET门派,千秋万代,一统江湖。
那日Ray偶来到apache支派,却看到Apache弟子们各施绝技,好不热闹. Ray对Apache绝技手痒已久,想来得习IKVM.NET已有时日,斗胆上前叫阵。迎战者哪Apache派中的小弟子,江湖人称:commons.collection.
二人拳脚来去,Ray却懒得与之多动手脚,随即默念真言:
ikvmc -assembly:commons -target:library -version:1.0.0.0 commons-collections-3.2.1.jar
collection陡然萎靡在地,想是一身内功尽被Ray所吸去,Apache派人等尽皆失色,“我等苦练十余载,内力尽为汝一夕取去”,莫敢上前。
Ray回转.NET派,试练collection的神功,借助IKVM.OpenJDK.Core之神器,神功即成,试演如下:
using System;using org.apache.commons.collections;
using org.apache.commons.collections.functors;namespace MyLib
{class Program{static void Main(string[] args){String name = "Tim";Predicate nameJohn = new EqualPredicate( "John" );Predicate nameTim = new EqualPredicate( "Tim" );Predicate instanceString = new InstanceofPredicate(typeof(String) );Predicate instanceDouble = new InstanceofPredicate(typeof(Double));Console.Out.WriteLine( "Is Name John?: " + nameJohn.evaluate( name ) );Console.Out.WriteLine("Is Name Tim?: " + nameTim.evaluate(name));Console.Out.WriteLine( "Is this a String?: " + instanceString.evaluate( name ) );Console.Out.WriteLine( "Is this a Double?: " + instanceDouble.evaluate( name ) );}}
}
相较原有神功:
import org.apache.commons.collection.Predicate;
import org.apache.commons.collection.functors.*;
String name = "Tim";
Predicate nameJohn = new EqualPredicate( "John" );
Predicate nameTim = new EqualPredicate( "Tim" );
Predicate instanceString = new InstanceofPredicate( String.class );
Predicate instanceDouble = new InstanceofPredicate( Double.class );
// Testing all predicates for "Tim"
System.out.println( "Is Name John?: " + nameJohn.evaluate( name ) );
System.out.println( "Is Name Tim?: " + nameTim.evaluate( name ) );
System.out.println( "Is this a String?: " + instanceString.evaluate( name ) );
System.out.println( "Is this a Double?: " + instanceDouble.evaluate( name ) );
竟然绝无二致。
偌大Java江湖,从此为我.NET所用,哇哈哈。
作者: ray_linn
声明: 本文系JavaEye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
已有 48 人发表回复,猛击->>这里<<-参与讨论
JavaEye推荐
- 上海:天会皓闻诚聘CTO技术总监
- 上海:天会皓闻诚聘资深Java架构师
- 北京:手机之家网站诚聘PHP程序员
- 成都:月薪5千到1万招聘Java开发工程师
- 上海:高薪诚聘Python开发人员
转载于:https://my.oschina.net/soar/blog/2516
IKVM 编程武林之.NET派的北冥神功相关推荐
- 树莓派python编程小车_00-树莓派做的遥控小车 python
堆图预警 一. 背景交代 楼主男,想入门it,现小白.收拾柜子,发现了尘封已久的树莓派小板板(raspberry pi 26 pin),近期又在学习python,闲着无聊,故研究一下,ssh连接竟然能 ...
- [.net 面向对象编程基础] (20) LINQ使用
[.net 面向对象编程基础] (20) LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integr ...
- 大疆推教育机器人已到第二代!机器人编程玩具的前世今生是怎样的?
热点追踪 / 深度探讨 / 实地探访 / 商务合作 大疆作为一个无人机品牌,可能已经无人不知,无人不晓了吧.但是,你知道大疆已经涉足教育机器人领域了吗? 继去年大疆推出首款教育机器人机甲大师S1后,今 ...
- 2005年博客与web2.0十大最拽的武侠人物
2005年,网络江湖被博客和web2.0炒得沸沸扬扬高潮迭起.在乱世当中,谁是武林中的主角?西门吹草今天就胡扯几段,评出2005年博客与web2.0十大最拽的武侠人物.究竟这些人是英雄还是小人,是善还 ...
- 。2005年博客与Web2.0 十大武侠人物
2005年,网络江湖被博客和web2.0炒得沸沸扬扬高潮迭起.在乱世当中,谁是武林中的主角?西门吹草今天就胡扯几段,评出2005年博客与web2.0十大最拽的武侠人物.究竟这些人是英雄还是小人,是善还 ...
- Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程–>错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个人 ...
- (转)Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...
- C语言,RPG小游戏
老九C语言教程最后的笑傲江湖. 算是在编程门槛外面的深呼吸热身练习,基本上都是老九的那一套. gamelib.h #ifndef GAMELIB_H_INCLUDED #define GAMELIB_ ...
- ASP.NET入门猜想
·天极开发者网络倾情奉献:http://dev.yesky.com/ ·策划:方舟 [023-86583043] 与老燕聊天会感到他比较激进,看他的文章却有与一个理性的人对话的感觉.这种激进和理性在老 ...
最新文章
- mysql 硬解析 软解析_ORACLE sql语句的硬解析与软解析(收藏)
- webuploader 怎么在react中_React 项目性能分析及优化
- Spring核心——Bean的依赖注入
- vue重启node_【ts】vue-typescript-admin类型any仍然报错
- irobot扫地机器人 电压_【专利技术分析报告】“iRobot扫地机器人”核心专利
- 【机器学习】一篇白话机器学习概念
- Spring MVC架构流程(请求处理流程)
- char un 数组printf_c语言中能不能用printf函数直接输出数组?如printf(%d,a[3][3]);
- 史上最全Git学习教程
- 【Jmeter篇】jmeter+Ant+Jenkins接口自动化测试集成之报告优化(三)
- c 表达式必须是可修改的左值_C++中的左值,右值,左值引用,右值引用
- OpenCV中的图像插值示例
- Python生态工具、文本处理和系统管理(虚拟)
- 亮剑:PHP,我的未来不是梦(6)
- mac下selenium+python环境搭建
- 关于asp.net导出Excel [zz]
- Python写个小游戏:看图猜成语(下)
- 8700K + z370 安装黑苹果 Mojave
- 笔耕不辍,无问西东——2018年终小结
- java工程师面试题大全100%公司笔试题你都能碰到几个
热门文章
- MongoDB中的分组
- 电脑开机后,就会自动运行chkdsk,我想取消chkdsk,怎么取消
- Javascript:原型模式类继承
- 关于网站地址解析到65.49.2.178的问题和解决方法
- Yahoo网站性能最佳体验的34条黄金守则
- vue.js:利用vue.js做一个抽奖小游戏
- 关于jstl.jar引用问题及解决方法
- [No000022]他们说:得诺贝尔奖到底有多难?
- 【转】jQuery中的bind(),live(),delegate(),on()事件绑定方式的区别
- jquery this 与javascript的this