abstract: 常用类(Object,Class,Scanner,String,StringBuffer,System,Date,Arrays等等)
包装类(常用数据类型int,char,long等等的包装类)
常见数据类型的转换
常用类
Object
代表所有的根类,任何类都继承自Object类
1) public int hashCode()返回该对象的哈希码值,每一个对象的哈希码值都不一样,哈希码值可以看作是地址值但不是地址值
2) public final Class<?> getClass()返回此Object的运行时类
3) equals(Object obj): 某个对象是否与此对象”相等”
基本数据类型:比较的是他们的具体值是否相同;
引用数据类型:比较的是他们的地址值是否相同(重写equals方法后比较的是内容是否相同)
4) clone(): 创建并返回此对象的一个副本,如果当前类的对象要进行复制操作,必须实现Cloneable接口
5) toString(): 返回该对象的字符串表示,建议所有子类都重写此方法
Class
表示的字节码文件对象
public String getName() : 以 String 的形式返回此 Class 对象所表示的实体(接口,类,数组...)名称
Scanner
表示简单文本扫描器,需要导包
1) nextXXX():录入下一个XXX数据类型的数据
2) public boolean hasNextXXX():判断录入的数据下一个是否是XXX这类型的数据
注意:
先录入int类型数据,在录入String类型数据,String类型的数据直接略过了,原因是回车符号也是个String字符,被录入后后面的String类型数据直接略过.因此这种情况下,在录入String数据前再重建个Scanner对象
String
1)构造方法:
String(): 空参构造
String(byte[]bytes): 将字节数组-->String数据
String(byte[] bytes, int offset, int length): 将字节数组的一部分转换字符串
String(char[] value) : 将字符数组转换成字符串
String(char[] value, int offset, int length): 将字符数组的一部分转换字符串
public String(String original) : 将字符串常量封装成字符串对象
2)常用成员方法:
public int length(): 获取字符串长度
public char charAt(int index): 获取指定位置上对应的字符
public int indexOf(int ch): 获取指定字符第一次出现的位置
public int indexOf(String str): 获取指定字符串第一次出现的位置
public int indexOf(int ch,int fromIndex): 从指定位置开始,第一次出现该字符的位置
public int indexOf(String str,int fromIndex): 从指定位置开始,第一次出现该字符串的位置
public String substring(int start): 从指定位置开始,截取字符串到末尾,返回新的字符串
public String substring(int start,int end): 从指定位置开始,截取字符串到指定位置,返回新的字符串
public byte[] getBytes(): 将字符串转换成字节数组
public char[] toCharArray(): 将字符串转换成字符数组
public static String valueOf(char[] chs): 将字符数组转换成字符串
public static String valueOf(int i): 将整数类型转换成字符串
public String toLowerCase(): 转换成小写字母
public String toUpperCase(): 转换成大写字母
public String concat(String str): 与指定的字符串进行连接,返回新的字符串
public String replace(char old,char new): 将字符串中指定的旧字符替换成指定的新字符
public String replace(String old,String new): 将字符串中指定的旧字符串替换成指定的新字符串
public String trim(): 去除字符串两端空格
public int compareTo(String str): 与指定的字符串,按照自然顺序比较
public int compareToIgnoreCase(String str): 与指定的字符串,按照自然顺序比较,忽略大小写
public boolean equals(Object anObject) : 比较字符串的内容是否相同
public boolean equalsIgnoreCase(String anotherString): 比较内容是否相同,忽略大小写
public boolean contains(String s): 判断大字符串中是否包含一个子字符串
public boolean startsWith(String prefix): 判断字符串是以...开头
public boolean endsWith(String suffix): 判断字符串是以...结尾
public boolean isEmpty() : 判断字符串是否为空
注意:
1)字符串是常量,一旦被赋值,其值不能被更改;
2) 字符串变量相加,是先开辟空间.再看常量池中是否有这个字符串常量.
字符串常量相加,是先拼接(先相加),在开辟空间
StringBuffer
与String相比,线程安全,且内容可修改
与StringBuilder的区别:
StringBuffer和StringBuilder类都表示内容可以被修改的字符串,StringBilder是线程不安全的,运行效率高,如果一个字符串变量是在方法里面定义,这种情况只可能有一个线程访问它,不存在不安全的因素了,则用StringBuilder。如果要在类里面定义成员变量,并且这个类的实例对象会在多线程环境下使用,那么最好用StringBuffer。
常用方法:
public int capacity(): 获得此字符串缓冲对象的当前容量
public int length(): 获得此字符串缓冲对象的长度,即包含的字符数
public StringBuffer append(String str): 将指定的字符串追加到字符串缓冲对象中
public StringBuffer insert(int offset,String str): 将指定的字符串插入到字符串缓冲对象中的指定位置
public StringBuffer deleteCharAt(int index): 删除指定索引处的字符
public StringBuffer delete(int start,int end): 删除字符串缓冲对象部分字符
public StringBuffer replace(int start,int end,String str): 用新字符串替换掉指定的子字符串
public StringBuffer reverse(): 将一个字符串中的字符的序列反转
public String substring(int start): 获取一个子串,从指定位置开始,到结束,将其存储在一个新的字符串对象中
public String substring(int start,int end): 获取一个子串,将其存储在一个新的字符串对象中
Math
常用方法:
public static int abs(int a) 获取给定数据的绝对值
public static double ceil(double a) 获取比给定数据大的,最小的double类型整数
public static double floor(double a) 获取比给定数据小的,最大的double类型整数
public static int max(int a,int b) 获取两个数中的最大值
public static double pow(double a,double b) 返回a的b次幂
public static double random() 产生[0.0—1.0)之间的随机数
public static int round(float a) 四舍五入
public static double sqrt(double a) 正平方根
Random
常用方法:
public int nextInt() 获得int范围内的随机数
public int nextInt(int n) 获取0到n之间的随机数[不包含n]
System
常用方法:
public static void gc() 垃圾回收器
public static void exit(int status) 终止当前正在运行的Java虚拟机
public static long currentTimeMillis() 得到当前系统时间与1970-01-01 00:00:00之间的差值的毫秒值
BigDecimal
public BigDecimal add(BigDecimal augend) 与给定的参数进行加法操作
public BigDecimal subtract(BigDecimal subtrahend) 与给定的参数进行减法操作
public BigDecimal multiply(BigDecimal multiplicand) 与给定的参数进行乘法操作
public BigDecimal divide(BigDecimal divisor) 与给定的参数进行除法操作
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode) 与给定的参数进行除法操作,并指定保留小数点后小数的位数
Date
public long getTime() 获取时间的毫秒值
public void setTime(long time) 设置此Date对象的时间
SimpleDateFormat
public final String format(Date date) 将一个Date对象,格式化为日期/时间字符串
public Date parse(String source) 从给定字符串的开始解析文本,以生成一个日期
Calendar
public static Calendar getInstance() 使用默认时区和语言环境获得一个日历对象
public int get(int field) 获得给定日历字段对应的值
public void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
public final void set(int year,int month,int date) 设置日历时间
Arrays
public static String toString(int[] a) 返回字符串
public static void sort(int[] a) 排序
public static int binarySearch(int[] a,int key) 二分查找(有序的前提下)
包装类
包装:
基本数据类型--> 引用数据类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
自动拆装箱:
手动: int a = 100;
Integer it = Integer.valueOf(a); 装箱
int of = it.intValue(); 拆箱
扩展
String和int的转换
int --> String
1) public static String valueOf(int i) String st = String.valueOf(int a = 100); valueOf能返回int,String
2) public static String toString(int i) long,String....
String --> int 对于Integer 有intValue,longValue,parseInt (intValue不是静态方法)
1) String -- Integer(创建对象) -- intValue(); 对于Long有intValue,longvalue,parseLong方法
2) public static int parseInt(String s) int pi = Integer.parseInt("50");
String和StringBuffer的转换
StringBuffer --> String
1) 通过String类的构造方法
2) 通过StringBuffer类中的toString()方法
3) 通过StringBuffer类中的substring()方法 (注:不常用)
String --> StringBuffer
1) 通过StringBuffer类的构造方法
2) 通过StringBuffer类的append()、insert()方法
基本数据类型与基本数据包装类的转换
基本数据类型 --> 包装类
1) 通过包装类的构造方法
2) 通过包装类的静态方法valueOf()
包装类 --> 基本数据类型
通过包装类的方法 xxxValue()
Date与long的转换
Date --> long
通过Date类的getTime()方法
long --> Date
通过Date类的构造方法
Date与String的转换
Date --> String
Date类的toString()方法
DateFormat类的format()方法
String --> Date
Date类的构造方法(已过时,被DateFormat类的parse(String s)方法取代)
DateFormat类的parse()方法
本文介绍了Java中常用的类如Object、Class、Scanner等的基本功能与使用方法,并详细讲解了字符串、包装类及数据类型之间的转换技巧。
1016

被折叠的 条评论
为什么被折叠?



