在Java程序中,可以通过给System.in和System.out重新赋值来重定向标准输入和输出。 在单元测试的时候,为了对涉及到标准输入和输...
大家都知道,Java在创建异常对象时会生成调用栈信息,这样当异常抛出时,开发者就能从报错信息中看到异常抛出的路径,非常有利于定位问题。 但是,调...
前言 Java8新增的Stream API是一个强大的特性,它可以简化集合中的常用操作,包括过滤、映射、分组等。下面就来实现一个简易版的Stre...
Java 1.8之后,新增了一个叫做SerializedLambda的类,它用来保存Lambda表达式序列化之后的数据,通过Serialized...
假设有以下接口: 这是一个泛型接口,在实现Factory的时候需要指定泛型参数: 假如我们要获取一个Factory实例的泛型参数,要怎么做呢?可...
这篇文章介绍如何用Parser Combinator实现一个简单的正则表达式引擎。 Cursor Cursor封装了字符串的状态,表示一个光标位...
示例工程 引入Maven依赖: 在项目中新建一个byx.test包,然后添加以下三个类: 再添加一个Main类作为启动类: 运行main方法,控...
工程搭建 Maven依赖: 在项目下新建一个byx.test包,然后在里面添加A、B、Config三个类: A和B是两个普通的类(没有标注Com...
首先定义一个Strategy接口来表示一个策略: 其中flag方法返回当前策略的唯一标识,process则是该策略的具体执行逻辑。 下面是Str...