不清楚的点:
(1)foreach()什么时候用,大多数都在用for循环呀?
(2)关于线程锁,后面再看看。
基本数据类型(8种)对象包装类:
数据类型 | 类 |
---|---|
int | Integer |
char | Character |
float | Float |
double | Double |
byte | Byte |
short | Short |
long | Long |
boolean | Boolean |
基本数据类型对象包装类的
常见应用:
一:基本数据类型 和 字符串类型 之间做转换。
(1)基本数据类型转为字符串
基本数据类型.toString(基本数据类型值);
比如:String s = Integer.toString(123); //静态方法(类名直接调用)
或者
基本数据类型+""; //加个空字符;
(2)字符串转为基本数据类型
模板:xxx a = Xxx.praseXxx(String str);
整数:int num=Integer.parseInt("123");
long: long x =Long.praseLong("123");
boolean bool=Boolean.praseBoolean("true");
......
注:其他都是这样写的。但是char类型的不存在该方法。
(3)单独拿出整数来说:
3.1十进制转为其他进制
Integer.toBinaryString();
Integer.toHexString();
toOctalString();//八进制
3.2其他进制转为十进制
PraseInt(string,radix);
比如:
parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483648", 10) 返回 2147483648
parseInt("99", 8) 抛出 NumberFormatException //八进制不存在9这个数
parseInt("Kona", 10) 抛出 NumberFormatException //前者是16进制的,而不是10进制的,报格式错误。
二: 以下是一些小知识点(都写在注释里了):
class StringBufferTestDemo
{
public static void main(String[] args)
{
Integer x = new Integer(4);
Integer y = new Integer("4");
System.out.println("x==y:"+(x==y));
/*上述结果为false,因为是俩对象,指向不同的堆内存空间。
但是用x.equals(y)的结果为true,重写的object的方法。主要是比较二者的值。
*/
x=x+2;
/*上述为 对象=对象+数值。这种写法之所以被允许,是因为存在了
自动装箱和拆箱的过程,在运行过程中,x自动调用x.intValue(),相加后再返回Integer对象。
*/
Integer m=128;
Integer n=128;
System.out.println("m==n:"+(m==n));
//结果为false
Integer a=127;
Integer b=127;
System.out.println("a==b:"+(a==b));
//结果为true;
/*因为a,b指向的是同一个Integer对象,
对于在byte(-128~127)范围内的数值来说:如果已经存在一个该数值,则不再另外开辟。
*/
}
}