Example of Anonymous Inner Classes
From Java Example Source Code
Contents |
[edit] Overview - Example of Anonymous Inner Classes
This Java example program shows a example of anonymous inner classes.
[edit] Java Source Code
- Package: com.bruceeckel
- File: DirList2.java
package com.bruceeckel; //: c12:DirList2.java //Uses anonymous inner classes. //{Args: "D.*\.java"} //From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 //www.BruceEckel.com. See copyright notice in CopyRight.txt. import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; import java.util.Comparator; import java.util.regex.Pattern; public class DirList2 { public static FilenameFilter filter(final String regex) { // Creation of anonymous inner class: return new FilenameFilter() { private Pattern pattern = Pattern.compile(regex); public boolean accept(File dir, String name) { return pattern.matcher(new File(name).getName()).matches(); } }; // End of anonymous inner class } 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, new AlphabeticComparator()); for (int i = 0; i < list.length; i++) System.out.println(list[i]); } } // /:~
Package:com.bruceeckel
File: AlphabeticComparator.java
package com.bruceeckel; //www.BruceEckel.com. See copyright notice in CopyRight.txt. //modified by Code Panda; This class is used several times in those examples, so, move it into a public class. import java.util.Comparator; public class AlphabeticComparator implements Comparator { public int compare(Object o1, Object o2) { String s1 = (String) o1; String s2 = (String) o2; return s1.toLowerCase().compareTo(s2.toLowerCase()); } }
[edit] What Result You Can Get
Run the program, you will get:
.classpath .project .settings bin Blip3.out Blips.out ...
[edit] Required External Library for this Java Example
Need nothing.
[edit] How to Run this Java Example Program
We recommend running this Java example program with Eclipse.
For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.
It's fairly easy.
[edit] Question & Answer
Any question?
Click edit and post your question or answer here.
