java -8
来源:互联网 发布:unity3d transform 编辑:程序博客网 时间:2024/04/29 13:51
泛型
public class GenericTest {
public static void main(String[] args) {
ArrayList collection1=new ArrayList();
collection1.add(1);
collection1.add(1l);
collection1.add("abc");
int i=(Integer)collection1.get(1);
ArrayList<String> collection2=new ArrayList<String>();
//collection2.add(1);
//collection2.add(1l);
collection2.add("abc");
String element=collection2.get(1);
}
}
泛型的好处就是在定义的时候就决定接收的是什么类型,不用再类型转换。
定义了泛型,一个集合里面就只能存储同样的数据。
泛型是提供给javac编译器使用的,可以限定集合的存储类型。
泛型中的?通配符
集合类:
HashMap<String,Integer> maps=new HashMap<String,Integer>;
maps.put("aaa",22);
maps.put("bbb",33);
maps.put("ccc",55);
Set<Map.Entry<String,Integer>> entrySet=maps.entrySet();
for(Map.Entry<String,Integer>entry:entrySet){
System.out.println(entry.getKey()+":"+entry.getValue());
}
自定义泛型:
private static<T>T add(T x,T y){
return null;
}
调用时:add(3,5);//这里会自动装箱
add(3.5,3);--double和int交集就是number型
add(3,"abc");//去的类型是他们的交集--Object
交换数组中两个元素的位置
private static<T> void swap(T[] a,int i,int j){
T tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
调用:
swap(new String[]{"abc","xyz","itcast"},1,2);//泛型的类型必须的是引用类型,不能基础类型。int[]不会自动装箱,因为他本身就是一个对象了。
异常采用泛型:
private static<T extends Exception>sayHello()throws T{
try{
}catch(Exception e){
throw(T)e;
}
类型转换:
private static<T> autoConvert(Object obj){
return(T)obj;
}
调用:
Object obj="abc";
String x3=autoConvert(obj);
}
将任意类型的数组中的所有元素填充为相应类型的某个对象
private static<T> void fillArry(T[] a,T obj){
for(int i=0;i<a.length;i++){
a[i]=obj;
}
}
打印出任意参数化类型的集合中的所有内容
public static<T> void printCollecton(Collection<T> collection,T obj){
System.out.println(collection.size());
for(obj obj:collection){
System.out.println(obj);
}
}
泛型的类型:在类上定义
public class GenericDao<E>{
public void add(E x){
}
public E findById(int id){
return null;
}
public void delete(E obj){
}
public void delete(int id){
}
public void update(E obj){
}
public static<E>/*独立出来的,静态方法不行*/ void update(E obj){
}
public Set<E> findByConditions(String where){
return null;
}
}
- java -8
- Java 8
- Java 8
- Java 8
- Java 8
- Java 8
- JAVA | 8
- Java 8: java.time.DayOfWeek
- Java 8: java.time.Month
- java学习8---Java 图形界面编程
- Java 8里面的java.util.Random
- [Java 8 Lambda] java.util.stream 简介
- java实验8-Java输入输出流
- java实验8-Java输入输出流
- 【JAVA】【NIO】8、Java NIO FileChannel
- java基础(8)--深入理解Java.String
- java- Java 8的新特性
- Java笔记8:java类,对象,方法
- 使用 jsoup 对 HTML 文档进行解析和操作
- asp.net webservice常见问题收集
- InputStream与String 转换
- android 数据存储
- Interview Questions for ASP.NET Part - 1
- java -8
- Windows系统 的错误代码信息解释
- Android面试题
- flex datagrid组件 中添加别的组件(上半部分)
- 实现自己的printf函数
- Rman备份与恢复
- java 常见面试题及答案
- 彻悟人生555句金玉良言
- JAVA实训笔记(九)之mysql