Java继承知识学习——泛型及File

知识点汇总

1 泛型的使用:jdk 5.0新增的特性。
2在集合中使用泛型:集合接口或集合类在jdk5.0时都修改为带泛型的结构
在实例化集合类时,可以指明具体的泛型类型。
泛型的类型必须是类,不能是基本数据类型,基本数据类型由包装类替换
3自定义泛型结构:泛型类、泛型接口、泛型方法
泛型不同的引用不能相互赋值;
异常类不能声明为泛型;
泛型方法:在方法中出现了泛型结构,泛型参数与类的泛型参数没有关系
4.泛型在继承方面的体现:虽然D,C是子父类关系但是G和G不是子父类关系而是并列的关系。
5通配符的使用
List<?>不能向其内部添加数据除了添加null之外。
有限制条件的通配符的使用
? extends Man:问号可作为 Man 类或者是其子类的通配。
? super Man:问号可作为Man类或者是其父类的通配。

public class GenericTest {
    public static void main(String[] args) {
        //<>中只能放包装类不能是基本数据类型
        ArrayList<Integer> arrayList=new ArrayList<Integer>();
        arrayList.add(11);
        arrayList.add(22);
        arrayList.add(33);
        arrayList.add(44);
        Iterator<Integer> iterator=arrayList.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        //HashMap举例
        Map<String ,Integer> map=new HashMap<String ,Integer>();
        map.put("roy",22);
        map.put("Jerry",23);
        map.put("jack",24);
        Set<Map.Entry<String ,Integer>> set=map.entrySet();
        Iterator<Map.Entry<String, Integer>> iterator1 = set.iterator();
        while (iterator1.hasNext()){
            Map.Entry<String,Integer> e=iterator1.next();
            System.out.print(e.getKey());
            System.out.println(e.getValue());
        }
        //泛型自定义示例
        Order<String> order=new Order<>();
        order.setOrderT("Q");
        System.out.println(order.getOrderT());
        //通配符示例
        List<String> list1=null;
        List<Integer> list2=null;
        List<?> list3=null;
        list3=list1;
        list3=list2;
    }
    //泛型方法举例
    public <E> List<E> copy(E[] arr){
        ArrayList<E> list=new ArrayList<>();
        return list;
    }
}

File类的使用:File类的一个对象代表一个文件或文件目录
①File(String filepath)
②File(String parentPath,String childPath)
③File(String parentFile,String chilePath)
代码示例:

public class IOTest {
    public static void main(String[] args) throws IOException {
        File file=new File("hello.txt");//相对路径和Module同目录下
        File file1=new File("C:\\hello.txt");//绝对路径
        //获取绝对路径
        System.out.println(file.getAbsoluteFile());
        //获取路径
        System.out.println(file.getPath());
        //获取名字
        System.out.println(file.getName());
        //获取parentFile
        System.out.println(file.getParent());
        //获取文件长度
        System.out.println(file.length());
        //获取最后修改时间  毫秒值
        System.out.println(file.lastModified());
        /*
        *获取文件名String[] s=file.list()
        * 获取路径File[] f=file.listFiles()
        * */
        File file2=new File("D:\\application");
        String[] strings=file2.list();
        for(String s : strings){
            System.out.println(s);
        }
       /* File[] files=file.listFiles();
        for(File f : files){
            System.out.println(f);
        }*/
/*
  file1.renameTo(file2)把文件重命名为指定的文件路径返回boolean
若要保证成功file1必须存在,而file2不能存在
*/
        //判断文件是否存在
        System.out.println(file.exists());
        //判断是不是一个文件目录
        System.out.println(file.isDirectory());
        //判断是不是一个文件
        System.out.println(file.isFile());
        //判断是否可读
        System.out.println(file.canRead());
        //判断是否可写
        System.out.println(file.canWrite());
        //判断是否隐藏
        System.out.println(file.isHidden());
/*
* 文件的创建和删除
* createNewFile()创建文件若文件存在则不创建
* mkdir()创建文件目录,若文件目录存在就不创建了
* mkdirs()创建文件目录,若上层目录不存在一并创建
* delete()删除文件或文件夹
* */
//创建、删除示例
        File file3=new File("he.txt");
        if(file3.exists()){
            file3.delete();
        }else {
            file3.createNewFile();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值