JAVA备忘

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值