- int与integer:int是基本数据类型,integer是封装数据类型。对于基本数据类型可以用’‘来对其数值进行比较,而封装数据类型’'是判断其在内存中存放的地址是否一样,使用’equals’比较他们的值是否想等。
|数据类型| 封装类 | |数据类型 |封装类 |
|boolean |Boolean | |int |Integer |
|char |Character | |long |Long |
|byte |Byte | |double |Double |
|short |Short | |float |Float |
ps:string不是基本数据类型,是一个对象。 - switch语句可作用的数据类型及封装类型:switch可用于char byte short int这些基本类型及他们的封装类,也可用于枚举型;不能用于long double float boolean及他们的封装类。
- String定义常量与变量的区别:
String str=“abc”;定义的是一个常量,在常量池中开辟了一块空间,在其中存放了字符串“abc”,并通过str对象指向这个常量对象。
String str=new String(“abc”);在堆空间通过new关键字开发了一块内存,在其中存放字符串abc,并把内存的地址(即引用)赋予str变量。
结论:①String常量存放在常量池中,java虚拟机处于优化考虑,会让内存一致的对象共享内存块,变量则是放在堆空间,new定义的不同变量内存地址不会相同。
②String中常量连接着常量还是常量,依然用常量池管理,变量连接(‘+’)常量就是变量。 - 内存值不可变:String str=new String(“123”);开辟新空间在其中存放123,让str指向该内存。str=new String(“456”);重新开辟新空间,str指向新空间,原来123所在内存空间的值任为123.
- StringBuilder与StringBuffer的区别:StringBuffer是线程安全的,StringBuilder是线程不安全的,StringBuffer的性能要低于StringBuilder,但是大多数的运行环境是单线程的,在单线程环境用StringBuilder就行。
JAVA备忘
最新推荐文章于 2025-05-24 10:42:46 发布