首页 > 编程语言 >《Java编程思想第四版》学习笔记27

《Java编程思想第四版》学习笔记27

时间:2023-09-11 20:31:34浏览次数:41  
标签:27 Java String File list return 第四版 path public

//: DirList2.java
// Uses Java 1.1 anonymous inner classes
import java.io.*;
public class DirList2 {
    public static FilenameFilter
    filter(final String afn) {
// Creation of anonymous inner class:
        return new FilenameFilter() {
            String fn = afn;
            public boolean accept(File dir, String n) {
// Strip path information:
                String f = new File(n).getName();
                return f.indexOf(fn) != -1;
//                return true;
            }
        }; // End of anonymous inner class
    }
    public static void main(String[] args) {
        try {
            File path = new File(".");
            String[] list;
            if(args.length == 0)
                list = path.list();
            else
                list = path.list(filter(args[0]));
            for(int i = 0; i < list.length; i++)
                System.out.println(list[i]);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
} ///:~

注意 filter()的自变量必须是 final。这一点是匿名内部类要求的,使其能使用来自本身作用域以外的一个对象。

                                                                                                                                                      P.290

注意上面这一句话!

但是我在IntelliJ IDEA 2023.1.4 (Ultimate Edition),Java版本 "18.0.2" 2022-07-19环境下,不加final也可以正常运行。

标签:27,Java,String,File,list,return,第四版,path,public
From: https://blog.51cto.com/u_16183536/7438311

相关文章

  • Django_debug page_XSS漏洞(CVE-2017-12794)漏洞复现
    目录1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证说明内容漏洞编号CVE-2017-12794漏洞名称Django_debugpage_XSS漏洞漏洞评级影响范围1.11.5版本漏洞描述修复方案1.1、漏洞描述1.11.5版本,修复了......
  • 1. Java语言概述
    1.Java语言概述1.Java技术体系JavaSE(JavaStandardEdition)标准版JavaEE(JavaEnterpriseEdition)企业版JavaME(JavaMicroEdition)小型版2.Java开发环境介绍‍JDK(javaDevelopmentkit):是Java程序开发工具包,包含JRE和开发人员使用的工具。JRE(JavaRun......
  • JAVA集合框架体系
    集合框架--容器包容JAVA集合框架中的类可以用于存储多个队系那个,还可用于保存具有映射关系的关联数组。Collection接口单列数据集合。存储一个一个的数据。#常用方法:增add(Eobj)-->加的是一个addall(Collectionother)-->加基本单元,五个小单元组成的中单元放进......
  • 无涯教程-JavaScript - NPV函数
    描述NPV函数通过使用折现率以及一系列未来付款(负值)和收入(正值)来计算投资的净现值。语法NPV(rate,value1,[value2],...)争论Argument描述Required/OptionalRateTherateofdiscountoverthelengthofoneperiod.RequiredValue11to254argumentsrepresen......
  • 无涯教程-JavaScript - NPER函数
    描述NPER函数基于定期,固定付款和固定利率返回投资的期数。语法NPER(rate,pmt,pv,[fv],[type])争论Argument描述Required/OptionalRateTheinterestrateperperiod.RequiredPmt在每个期间付款。在年金的使用期限内,它不能改变。通常,pmt包含本金和利息,但不......
  • Java基础知识五
    1.什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。2.线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间3.线程的五大状态......
  • 亚马逊美国站桌面暖风机UL1278测试报告
    亚马逊美国站暖风机UL1278测试报告随之天气越来越冷,尤其是亚马逊那边更是大雪纷飞,早上冒着寒风回到办公室,双手都冻得通红,拿出来仿佛还冒着寒气,打字都打得不利索。冬天这么冷真的很影响工作效率,事情做不完又只能加班解决,为了能按时完成工作准时下班,还是给自己一个温暖的办公环境吧。......
  • 你不知道的JavaScript(上中下三卷)pdf
    不错的书网盘mark一下https://pan.quark.cn/s/c8b525946add......
  • 无涯教程-JavaScript - MIRR函数
    描述MIRR函数针对一系列定期现金Stream返回修改后的内部收益率。MIRR会同时考虑投资成本和现金再投资收到的利息。语法MIRR(values,finance_rate,reinvest_rate)争论Argument描述Required/OptionalValues包含数字的单元格的数组或引用。这些数字表示定期发生的一......
  • java复习记录点
    类型转换int类型转二进制:Integer.toBinaryString(int);进制解析(其他进制转十进制):Integer.parseInt(String,int);//将string看成是以int进制的string,并以10进制输出结果进制解析(十进制转其他进制):Integer.toHexString(int);返回绝对值:Math.abs();*正则:[a-zA-Z]英文......