PHP的匿名函数与JAVA的匿名类的应用
2012-05-19 03:01
459 查看
一般来说匿名函数与匿名类用于回调,因为你可能并不知道回调函数或方法的具体实现,并且可能需要根据实际情况进行改变,并且匿名函数不需要使用具体的对象,也减少了开销
下面看看PHP的匿名函数应用实现
再来看看JAVA匿名类的实现
MyComparator.java
Game.java
Test.java
下面看看PHP的匿名函数应用实现
<html> <body> <?php interface Comparator { function compare($i, $j); } function getResult($i, $j, $comparator) { echo $comparator($i, $j); } $comparator1 = function($i, $j) { if($i > $j) { return 1; } else if($i < $j) { return -1; } else { return 0; } }; $comparator2 = function($i, $j) { $ilen = strlen($i); $jlen = strlen($j); if($ilen > $jlen) { return 1; } else if($ilen < $jlen) { return -1; } else { return 0; } }; getResult(1, 2, $comparator1); getResult(1, 2, $comparator2); #或者直接这样调用 getResult(1, 2, function($i, $j) { $ilen = strlen($i); $jlen = strlen($j); if($ilen > $jlen) { return 1; } else if($ilen < $jlen) { return -1; } else { return 0; } }); ?> </body> </html>
再来看看JAVA匿名类的实现
MyComparator.java
public interface MyComparator<E> { int compare(E e); }
Game.java
public class Game<E> { public void play(E[] array, MyComparator mc) { int result = mc.compare(array[array.length - 1], array[0]); if(result > 0) { System.out.println("Oh no... You Win"); } else if(result == 0) { System.out.println("Emmm... Draw"); } else { System.out.println("Haha... You Lose"); } } 13 }
Test.java
public static void main(String[] args) { Game<Integer> game = new Game<Integer>(); Integer[] intArr = {1, 2, 3}; game.play(intArr, new MyComparator<Integer>() { @Override public int compare(Integer e1, Integer e2) { if(e1 > e2) { return 1; } else if(e1.equals(e2)) { return 0; } else { return -1; } } }); }
相关文章推荐
- PHP的匿名函数与JAVA的匿名类的应用
- PHP、Java、C#实现URI参数签名算法,确保应用与REST服务器之间的安全通信,防止Secret Key盗用、数据篡改等恶意攻击行为
- PHP 匿名函数和匿名类
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
- 新瓶装老酒–PHP结合Java构建Web应用的新思路
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
- 回调、匿名函数、闭包在PHP中的应用
- 【本文已迁移到“程序员文摘” http://programmerdigest.cn/category/lajp】新瓶装老酒--PHP结合Java构建Web应用的新思路
- java的lambda表达式、匿名类,Predicate接口,Consumer接口的应用
- 对比JAVA学习PHP系列:应用:php的日期和时间
- 对比JAVA学习PHP系列:应用:php的文件系统处理
- php 闭包函数(匿名函数)的应用
- Java 学习笔记 (9) - Java 事件机制 内部匿名类的应用
- 对比JAVA学习PHP系列:应用:php数据库开发
- atitit.人脸识别的应用场景and使用最佳实践 java .net php
- 统计java应用线程状态
- 分治法在二叉树遍历中的应用(JAVA)--二叉查找树高度、前序遍历、中序遍历、后序遍
- 对比JAVA学习PHP系列:高级:PHP的模板引擎Smarty
- PHP时间和日期的应用
- 关于java中static关键字在单态设计模式的应用学习和总结