泛型及IO流

泛型

泛型方法、泛型类

你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。

下面是定义泛型方法的规则:

  • 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的)。
  • 每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。
  • 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。
  • 泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等)。
package com.company.generic;

//泛型类
//public class GenericDemo01<T> {
//    public void show(T t){
//        System.out.println(t);
//    }
//}

//泛型方法
public class GenericDemo01 {
    public <T> void show(T t){
        System.out.println(t);
    }
}
package com.company.generic;

public class Test {
    public static void main(String[] args) {
        //泛型类测试
//        GenericDemo01<String> g1 = new GenericDemo01<String>();
//        g1.show("adasda");
//        GenericDemo01<Integer> g2 = new GenericDemo01<Integer>();
//        g2.show(50);
//        GenericDemo01<Boolean> g3 = new GenericDemo01<Boolean>();
//        g3.show(true);

        //泛型方法测试
        GenericDemo01 g1 = new GenericDemo01();
        g1.show("adasda");
        g1.show(50);
        g1.show(true);
    }
}

泛型接口

package com.company.generic;

//泛型接口
public interface GenericDemo01<T> {
    void show(T t);
}
package com.company.generic;

public class GenericDemo01Impl<T> implements GenericDemo01<T> {
    @Override
    public void show(T t) {
        System.out.println(t);
    }
}
package com.company.generic;

public class Test {
    public static void main(String[] args) {

        //泛型接口测试
        GenericDemo01Impl<String> g1 = new GenericDemo01Impl<String>();
        g1.show("sdfsdfsfd");
        GenericDemo01Impl<Integer> g2 = new GenericDemo01Impl<Integer>();
        g2.show(566);
        GenericDemo01Impl<Boolean> g3 = new GenericDemo01Impl<Boolean>();
        g3.show(true);

    }
}

可变参数的使用

package com.company.generic;

public class Test02 {
    public static void main(String[] args) {
        System.out.println(sum(10,20,65,50));
        System.out.println(sum(10,20,65,50,56));
        System.out.println(sum(10,20,65,50,48,45));
    }
    public static int sum(int... a){
        int sum = 0;
        for (int i : a) {
            sum+=i;
        }
        return sum;
    }
}

子节流&字节缓冲流

package com.company.generic;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStream01 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("D:\\IDEA\\net\\study\\fos.txt");
        fos.write(56);

        byte[] byt = "abcdefg".getBytes();
        fos.write(byt,0,byt.length);

        fos.close();
    }
}

在这里插入图片描述
在这里插入图片描述

字符流&字符缓冲流

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Boom'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值