泛型
// 类
class Tuple<T, S> {
private T first;
private S second;
}
// 泛型方法也可在非泛型类里面
class ArrayAlg {
public static <T> T getMiddle(T... a) {
return a[a.length / 2];
}
}
// 类
class Tuple<T, S> {
private T first;
private S second;
}
// 泛型方法也可在非泛型类里面
class ArrayAlg {
public static <T> T getMiddle(T... a) {
return a[a.length / 2];
}
}
上次总结了java中不同读写文件的方法,这次总结一下基本的IO流.网上的总结大部分是以Stream和Reader、Writer来介绍的.这次从封装层次来介绍.
如何在Java中读写文件,这里保留Java6/7版本,但是你永远不应该使用它们,优先使用Path,Files,Paths三个类.
资料:Reading and writing text files
不要用File对象,改用Path对象,该对象既表示文件路径,也表示文件文本(应该认为文件也是路径的一部分),对于以前的File,可以File.toPath()得到一个Path对象.
Files是一个静态类,操作文件内容.Paths是静态工具类,操作文件路径,例如拼接文件路径,以前要使用平台无关的分隔符表示:File.pathSeparator, File.separator.
例如,构建一个文件对象:Path path = Paths.get("~/test/", "foo", "bar", "a.txt");
Java AOP: 找到一个最简单的介绍,不怎么想翻译,直接看原文吧:
A Simple Introduction to AOP
提醒个点,使用注解的方式写切面时,增加了一个空方法,即:
class Test{
@Pointcut("execution(* org.bk.inventory.service.*.*(..))")
public void serviceMethods(){
//...
}
}
samples code and notes on java == and equals