459讲八大Wrapper类(包装类)、装箱和拆箱、Integer创建机制、String类(重要)
内容纲要

459讲八大Wrapper类(包装类)、装箱和拆箱、Integer创建机制、String类(重要)

file

黄色的父类是Number

file

file

file

装箱和拆箱

file

  • 手动装箱和自动装箱(拆箱)

file

file

  • 测试题。

file

  • 注意三元运算符看作一个整体。

  • Object obj1 =  true? new Integer(1) : new Double(2.0);
    System.out.println(obj1);//1.0
    //注意这里输出的是1.0.三元运算符看作一个整体。

包装类和String相互转换。

file

file

file

  • Integer类面试题1

file

  • integer的valueOf原码 老韩:这么多方法,不能一个一个看,用的时候看一下源码。

    注意。Integer 下 -128 到127 装箱时直接返回int 类型,否则就new 一个对象

file

  • 注意:cache 缓存下已经创建好了int[] 数组

file

file

  • Integer 面试题

file

注意:只要有基本数据类型,通过 == 就是判断值是否相等

integer i11 = 127;
int i12 = 127;
//注意:只要有基本数据类型,通过 == 就是判断值是否相等

String类

  1. String对象用于保存字符串,也也就是一组字符序列
  2. 字符串常量对象是双引号括起来的字符序列。例如: "你好"、"123.06"、"boy"等
  3. 字符串的字符使用Unicode 字符编码,一个字符( 不区分字母还是汉字 )占2个字节。
  4. String类常用的构造器如下。
  5. String 类实现了接口 Serializable 接口,【String 可以串行化:可以在网络中传输】
  6. String类实现了comparable 接口。【其中的 compareTo( ); 方法可以实现相互比较】
  7. String类还是final 类,不能被其它继承。
  8. String 有属性 private final char value[]; 用于存放字符串类容
  9. 注意: value 是一个final 类型不可修改(即使 value 不可再指向新的对象)

file

(但是单个字符内容是可以变化的 )

file

file

file

tip:我在廖雪峰java中看泛型的时候也看到了ArrayList 也实现了comparable 接口。

String 对象的创建(2种方式)

file

file

  • String 内存分布图

file

file

String类中重写了 toString(); 方法

  • 课堂测试题(助于理解)

file

API文档 String 类的inter(); 方法。

file

file

file

  • 测试题5(略微比上面难)

file

  • 注意!!!

file

//注意:
System.out.println(p1.name == "hspedu");//True
/*
这里的"hspedu" 存在于常量池,是一个地址。
p1.name == "hspedu" 比较的地址是一样的。所以为true
*/
  • 题1。String是一个final 类,代表不可变的字符序列。

file

  • 面试题2。注意:String a = "hello" + "abc"; //编译器等价优化: String a = "helloabc";

file

面试题3(重要)

file

规则:String c1 = "ab" + "cd"; 常量相加,看的是池。String c1 = a + b; 变量相加,是在堆。

file

//在上面的String c = a + b; 后面加入代码
String d = "helloabc";
System.out.println( c == d );//False
//c 指向的是堆中的对象地址。 d 指向的是常量池中的 "helloabc"
  • 题3

file

  • 题4(有一点难度)

file

回顾:每调用一个方法产生一个新栈。对象存在堆中

这个图有难度。!!!好好分析

file

file

String 类的常见方法

file

file

file

file

  • concat(); 方法是拼接

“concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。”

tip: s2.toUpperCase(); 方法不会改变s2的字符串的引用的地址。(如下)

file

file

  • compareTo(); 方法
  1. 如果长度相等,则比较字符相减比如"jack"; "jcck"; 相减为-2;

  2. 如果长度不相等,直接长度相减如:"jac"; "jack"; 相减为-1;

  3. 如果长度相同,字符串也相同,就返回0;

  • formate(); 方法。

file

还可以这么玩!!!

file

老韩解读

  1. %s , %d , %.2f , %c 称为占位符
  2. 这些占位符由后面变量来替换
  3. %s 表示后面由字符串来替换。
  4. %d 是整数来替换
  5. %.2f 表示使用小数来替换,替换后,只会保留小数点两位。并且进行四舍五入处理(业界良心)
  6. %c 表示使用char来替换。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇