Version1:
public class DirList { public static void main(String[] args){ File path = new File("."); String[] list; if(args.length == 0) list = path.list(); else list = path.list(new DirFileter(args[0])); Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); for(String dirItem : list) System.out.println(dirItem); } } class DirFilter implements FilenameFlter { private Pattern pattern; public DirFilter(String regex){ pattern = Pattern.compile(regex); } public boolean accept(File dir, String name){ return pattern.matcher(name).matches(); } }
version2:
public class DirList2 { public static FilenameFilter filter(final String regex){ return new FilenameFilter(){ private Pattern pattern = Pattern.compile(regex); public boolean accept(File dir, String name){ return pattern.matcher(name).matches(); } }; } public static void main(String[] args) { File path = new File("."); String[] list; if(args.length == 0) list = path.list(); else list = path.list(filter(args[0])); Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); for(String dirItem : list) System.out.println(dirItem); } }
version3:
public class DirList3 { public static void main(final String[] args) { File path = new File("."); String[] list; if(args.length == 0) list = path.list(); else list = path.list(new FilenameFilter(){ private Pattern pattern = Pattern.compile(args[0]); public boolean accept(File dir, String name) { return pattern.matcher(name).matches(); } }); Arrays.sort(list, String.CASE_INSENSITIVE_ORDER); for(String dirItem : list) System.out.println(dirItem); } }
发表评论
-
仿真[汽车制造]
2012-02-13 01:26 685class Car{ private final i ... -
线程例子[Condition, SignlAll, await]
2012-02-09 22:05 1031package concurrency.waxomati ... -
生产者消费者[简单示例]
2012-02-09 21:38 659class Meal{ private final ... -
泛型[创建类型实例]
2012-02-06 01:01 738public Class Erased<T> ... -
多路分发3
2012-02-05 23:16 828使用常量相关的方法 常量相关的方法允许我们为每个 ... -
多路分发2[使用enum分发]
2012-02-05 18:09 1903直接将RoShamBo1.java翻译为基于enum的版 ... -
多路分发
2012-02-05 02:06 1384多路分发 Number.plus(Number) ... -
使用Enum的自动贩卖机
2012-02-04 13:52 923public enum Input { NICKEL ... -
使用enum的责任链
2012-02-04 12:39 1179package enumerated; impor ... -
枚举类Enum,EnumSet,EnumMap
2012-02-04 02:00 1422EnumSet与HashSet相比,非常快。 p ... -
枚举类enum
2012-02-03 15:00 904一般来说,我们希望每个美剧实例能够返回对自身的描述, ... -
持有引用java.lang.ref 和 WeakHashMap
2012-02-02 01:27 982Thinking in java P554 持 ... -
Collections快速报错 fial-fast
2012-02-02 00:46 787{ public static void main( ... -
散列HashCode
2012-02-01 14:04 704散列的价值在于速度: 散列使得查询快速,由于瓶颈位于键 ... -
使用散列数据结构注意点
2012-02-01 01:32 591Goundhog自动继承基类Object,所以这里使用 ... -
Set注意点
2012-02-01 01:31 308如果我们尝试着将没有恰当支持不许的操作的类型用于需要这些 ... -
享元Map
2012-01-30 00:28 381这里之所以叫享元,注意static关键字。 定制了Entry ... -
深入容器Map
2012-01-19 15:12 398Map生成器 对Map的使用相同的方式,需要一 ... -
深入容器List
2012-01-19 14:40 343一种Generator解决方案: 所有Collect ... -
泛型数组
2012-01-19 00:57 638不能创建泛型数组,但能通过转型来赋予 public cl ...
相关推荐
- **匿名类简化**:对于只用一次的类,匿名内部类提供了简洁的写法。 在实际开发中,Java内部类的应用广泛,比如在Swing组件事件处理、线程编程(Thread或Runnable实现)、设计模式(如策略模式、装饰器模式)等...
4. **匿名内部类**: 没有名字的内部类,通常用在只需要一次使用的场合,简化代码。 **匿名内部类** 匿名内部类是一种没有名字的内部类,它常用于实现接口或者继承一个类,并且只需要一次使用的情况。其基本语法...
匿名内部类是一种简洁的编程方式,能够简化代码编写,但它也有一些限制和特点。 匿名内部类的定义 匿名内部类是指没有名字的内部类,它是继承一个父类或实现一个接口的子类。匿名内部类只能使用一次,因为它没有...
总之,匿名内部类是Java中一个强大的工具,它简化了代码结构,提高了代码的可读性和可维护性。然而,正确理解和使用它,需要充分理解其特性和限制,避免可能的陷阱。通过不断实践和学习,我们可以更好地掌握这一技术...
在Java编程中,匿名内部类主要用于事件处理、回调机制、简化代码以及实现特定功能的短暂对象。 1. **接口实现**: Java匿名内部类可以用来直接实现一个接口,无需为这个接口创建单独的实现类。这在处理事件监听时...
在Java编程语言中,匿名内部类是一种特殊的类,它没有名字,通常用于简化代码和实现特定功能,如事件处理或接口快速实现。在Android开发中,匿名内部类的应用尤其广泛,因为Android框架中的许多组件(如按钮、文本...
在Android开发中,匿名内部类作为事件监听类是常见且实用的技术手段,它简化了事件处理的代码编写,提高了开发效率。然而,需要注意的是,随着业务复杂性的增加,适时地采用单独的类来处理事件监听可能更有利于代码...
匿名内部类是Java编程语言中一个独特且强大的特性,它允许我们在需要的地方直接定义一个类的实例,而无需声明一个独立的类。这种类没有名字,通常用于实现接口或者继承抽象类,尤其在事件处理、回调函数以及创建一次...
- **简洁的代码**:在只需要一次使用的复杂逻辑或回调函数时,使用匿名内部类可以简化代码。 6. **经典例子** - **匿名内部类作为参数**: ```java interface MyInterface { void myMethod(); } public ...
在Java编程语言中,匿名内部类是一种特殊的类,它没有名字,通常用于简化代码和实现特定功能。在标题“发两个匿名内部类使用的例子”中,我们将会探讨两种不同的场景,如何利用匿名内部类来解决问题。这篇博客文章的...
这个"匿名内部类实现接口回调"的示例旨在演示如何通过匿名内部类来简化回调函数的实现。下面我们将详细探讨接口回调的概念、匿名内部类的使用以及它们在实际编程中的应用。 首先,让我们理解什么是接口回调。接口回...
匿名内部类是没有名称的局部内部类,主要用于简化代码编写。通常用于实现接口或者继承父类,而不需要定义一个新的类。匿名内部类可以在定义时直接初始化,省略了类的定义部分。 示例代码如下: ```java public ...
内部类可以封装复杂逻辑,提供更好的数据隐藏,而匿名内部类则简化了实现接口或继承类的流程,特别是在需要一次性实现简单功能时。在实际编程中,灵活运用这两种类可以提高代码的可读性和可维护性,降低开发成本。
在"FactoryTest2"和"FactoryTest"这两个文件中,我们可能看到了如何使用匿名内部类来简化或定制工厂模式的实现。 例如,如果"FactoryTest"展示了传统的工厂方法,创建了一系列产品对象,那么"FactoryTest2"可能会...
解压后,可以查看其中的Java文件来学习如何将匿名内部类应用到实际项目中。这些文件通常会有一个主Activity类,里面包含按钮定义和事件监听器的设置,以及可能的布局XML文件,定义了按钮和其他视图的结构。 总结来...
总结来说,MapReduce是大数据处理的关键技术,泛型提供了强大的类型安全和代码复用,匿名内部类简化了多线程编程,而`Runnable`和`Callable`则是Java多线程编程的基础。了解和掌握这些概念对于理解现代分布式系统和...
### Java特别篇-匿名对象与匿名内部类 #### 一、匿名对象 在Java中,对象通常通过定义一个变量来引用。例如,在`Student`类的例子中,我们首先定义了一个`Student`类,并且在`Test`类的`main`方法中通过以下方式...
总结来说,匿名内部类是一种强大的工具,它可以简化代码并提高可读性,尤其适用于实现简单的功能或快速响应接口。然而,过度使用匿名内部类可能导致代码难以理解和维护,因此应当适度使用,遵循上述原则和最佳实践。
- 简化代码:当只需要一次性的简短实现时,使用匿名内部类可以使代码更简洁。 7. **内存管理** 匿名内部类会隐式地持有对外部类的引用,可能导致内存泄漏,因此需要注意适时释放。 通过理解和掌握匿名内部类,...