Arrays类
- Arrays类是针对进行数组操作的类
- public static String toString(int[] a)//把int类型数组转为字符串
- public static void sort(int[] a)//对数组进行排序
- public static int binarySearch(int[] a,int key)//查找某个值的索引位置
- 演示:
import java.util.Arrays;
public class Test3 {
public static void main(String[] args) {
int []arr={24,13,3,55,7};
String s = Arrays.toString(arr);
System.out.println(s);//[24, 13, 3, 55, 7]
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);//3 7 13 24 55
}
int i = Arrays.binarySearch(arr, 3);//自动将数组化为有序,然后寻找下标
System.out.println(i);//0
}
}
包装类
- 为了对基本数据类型进行更多、更方便的操作,java针对每一种基本数据类型提供了对应的类类型。
- byte – Byte
- short – Short
- int – Integer
- long – Long
- float – Float
- double – Double
- char – Character
- boolean – Boolean
- Integer的构造方法:
- public Integer(int value)//把int类型的数据转为Integer
- public Integer(String s)//把字符串转为Integer
- Int 和 String 类型之间的转换
- Int --> String
- 使用""空字符串和int数据进行拼接
- 调用String类的valueof方法public static String valueOf(int i)
- int – Integer – String
- public static String toString(int i)
- String --> Int
- String – Integer – intValue()
- public static int parseInt(String s)
- 演示:
public class Test4 {
public static void main(String[] args) {
//int -- string
int num=10;
//方式一:加空串
String str=num+"";
//方式二:使用String类的valueof方法
String str2 = String.valueOf(num);
//方式三:int--integer--string
Integer integer = new Integer(num);
String str3 = integer.toString();
//string--int
//方式一:string--integer--int
Integer in = new Integer(str);
int i = in.intValue();
//方式二:使用Integer类的parseInt方法
int in2 = Integer.parseInt(str);
}
}
- 自动装箱:把基本数据类型自动转为包装类类型
- 自动拆箱:把包装类型自动转为基本数据类型
- 演示:
Integer ii = 100;//ii自动转为包装类型
ii += 200;//进行ii+200时先转为基本数据类型,运算结束给ii赋值时有自动转为包装数据类型
演示2:
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2);//false
System.out.println(i1.equals(i2));true
System.out.println("-----------");
Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3 == i4);false
System.out.println(i3.equals(i4));true
System.out.println("-----------");
Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6);//false 因为 超过了一个字节的范围 会new 一个Integer对象
System.out.println(i5.equals(i6));//true
System.out.println("-----------");
Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7 == i8);//true 没有超过一个字节的范围 因为在方法区中存在一个 字节常量池 范围-128---127
System.out.println(i7.equals(i8));//true