动手动脑:String.equals()的使用方法

public class StringEquals {

/**
* @param args the command line arguments
*/

public static void main(String[] args) {

String s1=new String("Hello");

String s2=new String("Hello");

System.out.println(s1==s2);//false

System.out.println(s1.equals(s2));//ture

String s3="Hello";

String s4="Hello";

System.out.println(s3==s4);//true

System.out.println(s3.equals(s4));//true

}

}

String.equals()的使用方法:s1,s2用new String()初始化代表声明了2个对象,在内存里开辟了两块空间,只是内容相同罢了,而s1==s2语句代表内存地址的比较所以输出为false。而s1.equals(s2)语句是对s1和s2内容的比较所以输出为true

s3和s4的内容相同所以当声明s4的时候java会是他直接指向s3的内存地址所以s3,s4内容和地址都相同所以都输出true

时间: 2024-08-10 01:58:19

动手动脑:String.equals()的使用方法的相关文章

String.equals(Object anObject)方法

首先注意,equals()方法接受的是Object类型的对象,并不一定是String类型. public boolean equals(Object anObject) { //两个对象地址是否一样,是,肯定是同一个对象 if (this == anObject) { return true; } //目前这个对象是否是String的实例(这也是为什么犯法传入的是Object对象) if (anObject instanceof String) { //强转为String类型 String an

05-String动手动脑问题及课后实验性问题总结

一.请运行以下实例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? (1)在Java中,内容相同的字符常量("Hello")只保存一份以节约内存,所以s0,s1,s2实际上引用的同一个对象. (2)编译器在编译s2一句时,会去掉"+"号,直接把两个字符串连接起来得一个字符串("Hello").这种优化工作由Java编译器自动完成. (3)当直接使用new关键字创建字符串对象时,虽然值一致(都是&qu

第七讲 数组动手动脑和课后作业

[动手动脑1] 数据作为方法参数示例代码 int[] arr= new int[ 24 ]; -- modifyArray( arr ); 阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. // PassArray.java // Passing arrays and individual array elements to methods public class PassArray { public static void ma

第四讲动手动脑集课后作业

一.动手动脑 1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 源代码: //huzejie20161016//生成指定数目的随机数import java.util.Scanner;public class Suijishu { public static void main(String[] args) { System.out.print("请输入要输出多少个随机数:"); Scanner s = new Scanner(System.in); int n

String比较 运用String.equals

首先定义四个变量str public class SIzhui { public static void main(String[] args) { String str1="wang"; String str2="li"; String str3="wang"; String str4=new String("wang"); } } 然后进行比较 public class SIzhui { public static voi

05_动手动脑之String.equals()方法

Question: 请查看String.equals()方法的实现代码,注意学习其实现方法. Answer: java中的String.equals()方法的实现代码: equals()法是根类Object中的方法.源代码如下: public boolean equals(Object obj){return (this == obj);} 可见默认的equals方法,直接调用==,比较对象地址. 不同的子类,可以重写此方法,进行两个对象的equals的判断.String类源码中重写的equal

动手动脑之String.equals()方法

String.equals()方法的实现代码: 结果截图: 实现方法: String.equals() 方法比较字符串与指定的对象.其结果是true当且仅当参数不为null,并且是一个String对象,这个对象表示相同的字符序列.此方法返回true如果给定对象代表一个字符串,这个字符串,否则返回false.

java动手动脑和课后实验型问题String类型

1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati

JAVA String作业——动手动脑以及课后实验性问题

一:如何解释这样的输出结果?从中你能总结出什么?1.源码 //mao2015.10.20 //==的两个分辨 //对原始数据而言 //对引用类型变量 public class StringPool { public static void main(String args[]) { /*String s0="Hello"; String s1="Hello"; String s2="He"+"llo"; System.out.