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);            //[email protected]
11  //如果重写了Object为中的toSting(),可按照自己的规则 实现 结果
12  System.out.println(p1.toString());  //[email protected]
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个对象的包装类,


基本类型

包装类型

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

基本类型 包装类型 String类型

Boolean包装类型比较特殊,除了true,其他的都是false

装箱:基本类型转换成包装类型

拆箱:包装类型转换基本类型,可以自动类型转换,也可以使用方法。

Integer in3=9;//装箱 int i3=in3;//拆箱

基本类型和String类型的转换

原文地址:https://www.cnblogs.com/had1314/p/11373825.html

时间: 2024-08-30 15:29:53

String类解析的相关文章

Java String 类解析

I.构造函数: public String() {} 默认构造函数 public String(String original) {} 使用原有字符串构造  public String(char value[]) {} 使用字符型数组构造 public String(char value[], int offset, int count) {} 使用给定的字符数组构造 offset指明从value哪个字符开始: count指明截取字符数组的长度: 源码使用Arrays.copyOfRange()

java笔记--String类对象解析与运用

1.String中的equals和==的区别 String是对象而非基本数据类型,不能使用"=="来判断两个字符串是否相当, 判断两个字符串内容是否相同用equals(); 判断两个字符串内存地址是否相同用"==" 2.startsWith(String str): 判断字符串是否以str为前缀 3.endsWith(String str): 判断字符串是否以str为后缀 4.String 字符串的比较: 1).compareTo()和compareToIgnore

String 类的内存 解析

关于String类的内存解析 Person类的内存解析 原文地址:https://www.cnblogs.com/liyao0312/p/11624706.html

S1/C#语言和数据库技术基础/04-深入C#的String类

常用字符串处理方法 方法 说明 Bool Equals(string value) 比较一个字符串与另一个字符串value的值是否相等.若二者相等,则返回true:若不相等,则返回false Int Compare(string strA,string strB) 比较两个字符串的大小关系,返回一个整数.若strA小于strB,则返回值小于0:若strA等于strB,则返回值为0:若strA大于strB,则返回值大于0 Int IndexOf(char ,string value) 获取指定的v

java中的String类常量池详解

test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[] args){ String a = "a1"; String b = "a"+ 1; System.out.println(a==b); }//true } test2: package StringTest; public class test2 { /** *

Java String类

JAVA String类[转] 1.String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”; 其实按照面向对象的标准语法,其格式应该为: String s = new String(“abc”); s = new String(“Java语言”); 只是按照面向对象的标准语法,在内存使用上存在比较大的浪费.例如String s = new String

黑马程序员——String类

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- String类 (一). 认识String 字符串是一个特殊的对象,一旦初始化就不可改变. 有两种方式定义一个字符串对象: (1)String str = “abc”; //它在执行时是在字符串常量池中创建一个对象,并把地址赋给引用型变量

Thrift compiler代码生成类解析

代码生成类解析: Thrift--facebook RPC框架,介绍就不说了,百度,google一大把,使用也不介绍,直接上结构和分析吧. Hello.thrift文件内容如下: namespace java com.tomsun.thrift.generated.demo service Hello { string helloString(1:string para) } 内容很简单,申明个RPC service(Hello),服务方法helloString,方法参数格式(seq: para

JAVA的String 类

String类 1.String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”; 其实按照面向对象的标准语法,其格式应该为: String s = new String(“abc”); s = new String(“Java语言”); 只是按照面向对象的标准语法,在内存使用上存在比较大的浪费.例如String s = new String(“abc”);