String类解析
Posted had1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类解析相关的知识,希望对你有一定的参考价值。
String类内存解析
字符串不变,他们的值在创建之后不能改变
1.==比较运算符,基本数据类型是进行值比较,引用类型是地址比较
2.equals:Object类中的一个方法,比较对象的地址;String类对这个方法实现了重写,对字符串进行比较
Object类
面试题:finalize() final finally区别
finalize():当垃圾收集器确定不再有对该对象的引用时,垃圾收集器在对象上调用该方法;
final:关键字,修饰常量
finally:作为异常的一个块
1.重写equals()方法
1 public class TestObject 2 public static void main(String[] args) 3 Person p1 = new Person(); 4 p1.name="abc"; 5 Person p2 = new Person(); 6 p2.name="abc"; 7 System.out.println(p1==p2); // false 8 System.out.println("@:"+p1.equals(p2)); //没有重写前false /重写equals方法后就可按照自己的规则 实现 结果 true 9 System.out.println("=================================="); 10 System.out.println(p1); //com.aura.java2.Person@15db9742 11 //如果重写了Object为中的toSting(),可按照自己的规则 实现 结果 12 System.out.println(p1.toString()); //com.aura.java2.Person@15db9742 13 14 // String s1 = new String("Hello"); 15 // System.out.println(s1.toString()); //Hello 16 17 18 19 20 21 class Person 22 String name; 23 //重写equals() 24 //当对象的属性值 如果一致的话,是同一个对象 25 // @Override 26 // public boolean equals(Object obj) 27 // if(this==obj) 28 // return true; 29 // else if(obj instanceof Person) 30 // Person per = (Person)obj; 31 // if(per.name.equals(this.name)) 32 // return true; 33 // 34 // 35 // 36 // return false; 37 // 38 @Override 39 public boolean equals(Object obj) 40 if (this == obj) 41 return true; 42 if (obj == null) 43 return false; 44 if (this.getClass() != obj.getClass()) 45 return false; 46 Person other = (Person) obj; 47 if (name == null) 48 if (other.name != null) 49 return false; 50 else if (!name.equals(other.name)) 51 return false; 52 return true; 53 54 55 // @Override 56 // public String toString() 57 // return "Person: name="+this.name; 58 // 59 @Override 60 public String toString() 61 return "Person [name=" + name + "]"; 62 63 64
2.重写toString()方法
Junit测试
1 public void test() 2 System.out.println("Hello"); 3 show(); 4 5 6 public void show() 7 System.out.println("实现功能!"); 8 9 @Test 10 public void test2() 11 System.out.println("其他测试任务!"); 12
包装类
特点:具有类的特点,可以调用类中的方法
针对于基本类型,系统帮我们封装了8个对象的包装类,
基本类型 包装类型 String类型
Boolean包装类型比较特殊,除了true,其他的都是false
装箱:基本类型转换成包装类型
拆箱:包装类型转换基本类型,可以自动类型转换,也可以使用方法。
Integer in3=9;//装箱 int i3=in3;//拆箱
基本类型和String类型的转换
以上是关于String类解析的主要内容,如果未能解决你的问题,请参考以下文章