Java学习第十三节之类的几个基本类型和常用方法
一、 枚举类和泛型类
1、枚举类
枚举类型是这样一种类型,它在一个简短的列表中给出该类型的所有值,一个枚举类型的值是一种命名常量,因此根据约定,全部使用大写。
语法:enum Type_Name{FIRST_VALUE,SECOND_VALUE,……LAST_VALUE};
实例:enum Flavor{VANILLA,CHOCOLATE,STRAWBERRY};
枚举类型的定义一般放在所有方法的外部,与命名常量放在同一个地方。
示例如下:
2、泛型类
带有类型参数的类,即称为泛型类或者参数化类。在类定义的头部,类型参数包含在类名后面的尖括号中。任何非关键字标识符都可以用作类型参数,但是按照约定,类型参数以一个大写字母开头。
示例如下:
注意:1、类型参数可以是一个,也可以是多个。如:public class test<T,D>
2、类型参数可以继承。
示例如下:
三、常用的方法
类file不是文件,是描述路径的,放在io包下
路径可分为文件路径(File)和夹子路径(Directory);
路径也可根据其使用的特点分为相对路径和绝对路径,绝对路径不可变,相对路径是与工程一块的,具有很好的灵活性。
方法示例如下:
1、 File f=new File(“D:\\a.txt”);
boolean b=f.renameTo(new File("D:\\.12345.txt")); //改文件名
2、File f1=new File("D:\\a");
booleanf2=f.mkdir(new File(“需要创建的文件名”)); //创建文件,只能创建一个
3、File f1=new File("D:\\a");
booleanf2=f.mkdirs(new File(“需要创建的文件名”)); //可创建多个
4、listRoots() 列出根目录,返回File对象数组
5、list()和listFiles()效果一样,但是前者仅仅是列出根目录,后者则是把各文件封装成了对象。
四、用递归实现文件夹的删除和文件的查找
static long size = 0;
public static voiddeleteFile(File f) {//删除的方法
if (f.exists()) {
if (f.isFile()) {
f.delete();
} else if(f.isDirectory()) {
File[] files =f.listFiles();
for (File file :files) {
deleteFile(file);
}
f.delete();
}
}
}
public static voidgetFile(File f) { //查找的方法
if (f.isFile()) {
System.out.println(f.getPath());
size += f.length();
} else {
File[] fs = f.listFiles();
if (fs != null) {
for (File file :fs) {
getFile(file);
}
}
}
}