java--jdk5.0
来源:互联网 发布:淘宝店铺关注怎么设置 编辑:程序博客网 时间:2024/06/01 20:08
这个集合中能装一切对象,但需要强制类型转换。所以有风险。
集合比不上数组。
java.lang
实现了Iterable接口 才能用foreach遍历
Math.random() :返回一个随机数
java.util.Formatter 规范
tiger jdk5.0
1、泛型:来源C++,主要用于模版编程
不同泛型之间是不能相互赋值的
泛型的通配符:
?任何类型
?extends Number 是number类和Number的任何子类
? super Number number类或Number的任何父类
String、Double、Integer类都实现了Compable接口
Number与Object没有实现
? extends Comparable:任何实现Comparable接口的类
泛型方法:
在修饰符之后,返回值之前
package chp10;public class TestGenerics1 { public static void main(String[] args) { // TODO Auto-generated method stub }}class ClassA{ public void method(String s){ ClassC c1=new ClassC(); Object o=null; c1.method(o); ClassC<String> c2=new ClassC<String>(); c2.method("abc"); ClassC<Integer> c3=new ClassC<Integer>(); c3.method(123); }}class ClassB{public void method(Integer i){}}class ClassC<T>{ //T是个类型 public void method(T t){ }}interface I<T,V>{ T m(V o);}class I1 implements I<Integer,String>{ public Integer m(String s){ return 0; }}
2、foreach:
package chp10;import java.util.*;public class TestForeach { public static void main(String[] args) { // TODO Auto-generated method stub String[] ss={"Huxz","Liucy","Zhang3","Li4"}; /* for(int i=0;i<ss.length;i++){ String s=ss[i]; System.out.println(s); } */ for(String s:ss){ //循环变量s System.out.println(s); } Collection<String> c=new HashSet<String>(); c.add("Huxz"); c.add("Liucy"); c.add("Zhang3"); c.add("Li4"); /* Iterator it=c.iterator(); while(it.hasNext()){ String s=(String)it.next(); System.out.println(s); } */ for(String s:c){ //循环变量s .本质还是迭代遍历 System.out.println(s); } Map<String,Integer> map=new HashMap<String,Integer>(); map.put("Huxz", 100); map.put("Liucy", 80); map.put("Zhang3", 90); Set<String> ks=map.keySet(); for(String k:ks){ int v=map.get(k); System.out.println(k+"-------"+v); } Set<Map.Entry<String, Integer>> es=map.entrySet(); for(Map.Entry<String, Integer> me:es){ String k=me.getKey(); int v=me.getValue(); System.out.println(k+"------"+v); } }}
3、自动封箱
4、静态引用:
用到一个类中静态成员时,可以省略类名。
package chp10;import java.util.*;import static java.lang.System.*;import static java.lang.Math.*;public class TestStaticImport { public static void main(String[] args) { // TODO Auto-generated method stub // int[] a={3,4,6,5,8}; // Arrays.sort(a); //System.out.println(Math.random()); out.println(Math.random()); }}
5、可变长参数:就是数组参数。
由编译器负责将多个实参封装成数组。
一个方法中,最多有一个变长参数,且必须是参数表中最后一个参数。
m(String s1,String… s2)
6、格式化的输入输出:
输入:System.in
package chp10;import java.util.*;public class TestInOut { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int i=sc.nextInt(); System.out.println(i*2); }}
(大点东西)
7、枚举(自古就有):
是一个类:这个类的对象是构造好的,不允许用户构造类的新对象。
关键字:enum
特殊的类 所有枚举的子类都是Enum的子类。 final类
所有的构造方法必须是私有的
枚举值:枚举类的对象,也是枚举类中的公开静态常量。
没有子类。枚举中可以定义抽象方法,不是给子类实现的,是留给枚举值实现的。
枚举中可以定义抽象方法,由枚举值分别实现
Season1与Season2完全等价
package chp10.tiger;public class TestEnum { public static void main(String[] args) { // TODO Auto-generated method stub Season1 s1=Season1.SUMMER; Season2 s2=Season2.SUMMER; }}class Season1{ public static final Season1 SPRING=new Season1(); public static final Season1 SUMMER=new Season1(); public static final Season1 AUTUMN=new Season1(); public static final Season1 WINTER=new Season1(); private Season1(){ }}enum Season2{ SPRING, SUMMER, AUTUMN, WINTER}
- java--jdk5.0
- JAVA JDK5.0 泛型编程 (图)
- java jdk5.0生产者消费者升级版
- java学习之JDK5.0特性
- JAVA JDK5新特性
- JAVA 线程间通信 -生产者消费者JDK5.0升级版
- 黑马程序员----------java基础知识之JDK5.0新特性总结
- JAVA 线程间通信 -生产者消费者JDK5.0升级版
- java基础——JDK5.0新特性
- 【java多线程】【生产者与消费者】【JDK5.0升级版】
- Java学习笔记22 jdk5.0新特性
- [JAVA] JDK5.0 Annotations注解hibernate实体类
- Java jdk5.0新特性——泛型
- JDK5.0 范型小测验
- JDK5.0的collection
- jdk5.0新特性
- jdk5.0新特性
- JDK5.0新特性
- Highcharts实现图形报表(我主要实现javaweb开发的图形报表)
- 微信点击某位置弹出分享朋友圈提示的层,通用
- 查询端口有没有被占用
- nginx源码基本安装规范手册
- Struts2的常见的配置文件介绍
- java--jdk5.0
- DOM
- jsp+servlet实现最基本的注册登陆功能
- Mongodb源码分析--链接池(ConnPool)
- springmvc请求参数获取的几种方法
- Struts2中的数据处理的三种方式对比
- 科锐课堂笔记:2017/3/6 一维数组与多维数组
- Struts2请求数据自动封装和数据类型转换
- 人工智能首入政府工作报告,将渗透众多行业