1、float f=3.4;是否正确?
答:不正确,因为3.4是双精度数,双精度型(double)
double赋值给float属于向下转型,会造成精度损失。
正确写法
float f =(float)3.4; 或float f =3.4F;
2、int和Integer区别?
int的包装类就是Integer
自动装箱/拆箱机制
自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer ,double 转化成Double,等等。反之就是自动拆箱。
原始类型分为:
boolean,char,byte,short,int,long,float,double
包装类型分为:
Boolean,Character,Byte,Short,Integer,Long,Float,Double
3、String和StringBuilder、StringBuffer的区别是什么?
String:
只读字符串,引用的字符串内容是不能被改变
StringBuffer/StringBuilder:
字符串对象可以直接进行修改
StringBuffer:
线程安全,效率略低
StringBuilder
非线程安全,效率比StringBuffer高 |
|