java基础增强1
来源:互联网 发布:mac qq怎么发文件夹 编辑:程序博客网 时间:2024/05/16 16:21
Java5.0新特性
1.静态导入
Import static 包名.类名.静态属性|静态方法|*
例如 Import staticjava.lang.System.out
Import static java.lang.Math.*
工具方法都是静态的 为了方便调用
2.自动装箱
指开发人员可以把一个基本数据类型直接赋给对应的包装类
Integer i = 1; //1(基本数据类型)—>先装成对象再赋给i
拆箱
指开发人员可以把一个包装类对象直接赋给对应的基本数据类型
Int j = i; //i(包装类对象)—>直接赋给基本数据类型j
典型应用
List list = new ArrayList();
List.add(1); //1这里自动装箱为对象
Int j = (Integer)list.get(0); //list第一个对象拆箱为基本数据类型给j
3.增强for循环
只能用在数组,或实现Iterable接口的集合类上
格式
for(变量类型 变量 : 需迭代的数组或集合){
}
Map<k,v>没有实现Iterable接口,需要其他方法实现增强for循环
a) Set set = map.keySet(); //key值做Set集合
Iterable it = set.iterable(); //Set有Iterable接口
while(it.hasNext){
Stringkey = (String)it.next(); //获取key
Stringvalue = (String)map.get(key); //通过key找value
System.out.println(key+ “=” + value); //输出k-v对
}
for(Object obj : map.keySet()){
Stringkey = (String)obj;
Stringvalue = (String)map.get(key);
System.out.println(key+ “=” + value); //输出k-v对
}
[顺序存顺序取 链表 LinkedHashMap()]
b) Map下有entryset()方法 把k-v对封装为Entry对象
Set set = map.entrySet();
Iterable it = set.iterable();
while(it.hasNext){
Map.Entryentry = (Entry)it.next(); // Entry对象存
Stringkey = (String)entry.getKey; //通过方法找出key
Stringvalue = (String)entry.getValue(); //通过方法找value
System.out.println(key+ “=” + value); //输出k-v对
}
for(Object obj : map.entrySet()){
Map.Entryentry = (Entry) obj;
Stringkey = (String)entry.getKey;
Stringvalue = (String)entry.getValue();
System.out.println(key+ “=” + value);
}
需要注意的问题:
只适合取数据,改数据要用传统for循环
变量只是指向 改的只是指向对象 不是集合中的数据
4.可变参数
可变参数看成数组来操作
例子
public void sum(int …nums){
int sum = 0;
for(int i : nums){
sum+= i;
}
System.out.printIn(sum);
}
@Test
public void testSum(){
//调用可变参数方法 编译器自动创建一个数组
sum(1,2,3,4,5,6);//任意几个
int arr[] = {1,2,3,4,};
sum(arr);//数组传入也行
}
Arrays.asList()方法
将对象数组存为list集合 基本数据类型数组会当成一个数组对象存入
int nums1[] = {1,2,3};
Integer nums2[] = {1,2,3};
List list = Arrays.asList(nums1); //list为[一个数组地址]
List list = Arrays.asList(nums2); //list为[1,2,3]
需要注意的问题:
不要使电脑困惑 sum(int …nums,int x)不行 可变参数只能处于参数列表最后
- java基础增强1
- java基础增强1
- Java基础增强
- Java基础增强
- java 基础增强
- java基础增强
- Java基础增强
- Java基础&增强 枚举
- Java基础&增强 并发
- java基础增强
- Java基础增强
- java基础增强---反射
- Java基础增强---枚举
- java 基础增强
- java基础增强--泛型
- Java基础增强---增强for循环实例
- java基础:增强for循环
- Java基础&增强 泛 型
- python绘制excel数据热力图
- 面试_注意事项
- ViewRootImpl 和 DecorView 分析
- POJ 3347 Kadj Squares 复杂的线段相交问题。这个题目是计算几何的扩大数据运算的典型应用 有时候扩大数据范围避免浮点误差,这个题就是应用
- 括号序列的最长合法子段
- java基础增强1
- 如何强制修改mysql的root密码
- git在sourcetree的使用
- 《C++ Concurrency in Action》笔记8 死锁(2)避免死锁
- Java中多层继承中的方法重写
- Fuchsia OS中的RPC机制-FIDL
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(矩阵快速幂)
- 详解一个自己原创的正则匹配IP的表达式
- SSH与SSM学习之hibernate07——Transaction