---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
基本数据类型对象包装类
byte Byteshort Short
int Integer
long Long
char Character
float Float
double Double
基本数据类型转成字符串类型
基本数据类型.toString(基本数据类型值);
如: Integer.toString(34);//34(字符串)
String.valueOf(34);
问题:为什么String.valueOf(34)==Integer.toString(34)为false
hashCode和equals虽然都相同,但hashCode并非一定是此对象的内存地址值,所以两个对象不相同,所以为false
字符串转成基本数据类型
static int parseInt(); //静态调用方式
int intValue(); //对象调用方式
int a = Integer.parseInt("123");
double b = Double.parseDouble("12.23");
...
boolean b = Boolean.parseBoolean("true");
十进制转成其他进制:
toBinaryString();
toHexString()
toOctalString();
其他进制转成十进制:
parseInt(string,radix);
示例:3c(16进制)转化为十进制 int num = Integer.parseInt("3c",16);
示例:
class IntegerDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//整数类型的最大值
sop("int类型最大值:"+Integer.MAX_VALUE);
int num = Integer.parseInt("123");
long x = Long.parseLong("123");
sop("num="+(num+4));
sop(Integer.toHexString(60));
int hextoint = Integer.parseInt("3c",16);
sop("16进制3c的10进制:"+hextoint);
}
}
Integer x = new Integer("123");
Integer y = new Integer(123);
return x==y; false 因为是两个对象
return x.equals(y); true,因为equals方法被Integer覆盖,比的是数值
JDK1.5版本以后出现的新特性:
特性一:
// Integer x = new Integer(4);
Integer x = 4; //自动装箱 new Integer(4);
x = x/*x.intValue()*/+2; //x+2,x进行自动拆箱,变成了int类型,和2进行运算,运算完后,再将和进行装箱赋给x
int y = 4;
return x==y; //返回true,就是因为JVM会对其自动拆装箱
特性二:
Integer m =128;
Integer n =128;
return m==n; //false
Integer m =127; //127是byte取值范围内
Integer n =127;
return a==b; //true 因为a和b指向了同一个Integer对象,当数值在byte范围内,对于新特性,如果该数值已存在,则不会再开辟新的空间
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net