第十三周博客
1.泛型
就是将类型参数化,在编程的过程中,往往会有不缺定的集合的类型创建,如果将所有情况都考虑到,一一写出来的话,代码冗余程度很高,而且适用范围不广。所以泛型补填了这一缺点,将类型的确定推迟到创建对象的时候,也就是泛型。
2.表达式
<>:钻石表达式
泛型对于类型的确定是在编译过程中确定的
java中链表的源码
public class LinkedList<E>//<E>就是一个泛型
extends AbstractSequentialList<E>
java中创建String类型的链表
package Test;
import java.util.ArrayList;
import java.util.LinkedList;
public class Run
{
public static void main(String[] args) {
LinkedList<String> a = new LinkedList<>();//创建String类型的链表
a.add("String类型的链表已创建!!!");
String b = a.getFirst();
System.out.println(b);
}
}
泛型的其他表达形式
<? super E>//泛型?是E的父类 <?extends E>泛型?是E的子类
IO的基础知识
字节流(适用程度高) , 一个字节一个字节地读取 局限性:但是对于俩个字节地中文来说适用不了。
以Stream结尾的都是字节流
字符流 一个字符一个字符的读取 局限性:只适用与.txt文件(文本文件),对于word,ptf文件来说不适用
IO文件的基本输入输出
package Test;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import jdk.nashorn.internal.ir.JumpToInlinedFinally;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IO1
{
public static void main(String[] args) {
FileReader f = null;
FileWriter w = null;
try
{
f = new FileReader("C:\\Users\\86199\\Desktop\\I.txt");
w = new FileWriter("C:\\Users\\86199\\Desktop\\O.txt");
char[] cbuf = new char[5];
int len;
while((len = f.read(cbuf))!=-1)
{
w.write(cbuf,0,len);
System.out.println(cbuf);
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(w != null)
{
w.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if(f!=null)
{
f.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}