0 0

Java字符串比较问5

如题:

public class T{
    public static void main(String[] agrs) {
         String s1 = "test";
         String s2 = "test";

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

        T1 t1 = new T1();

        T1 t2 = new T2();

       System.out.println(t1.t() == t2.t());

    }
}

class T1(){
    String t1(){
        return "test";
    }
}

class T1(){
    String t1(){
        retrun "test";
    }
}


输出的结果是: false true

第二结果为什么是true。

问题补充:我 写错啦 ,输出的结果都是 true ;

是不是 通过String str = "test" 的方式,他们指向的是常量池中的同一个常量。而采用
String str = new String("test") 是开辟了一个堆空间。 str 指向的是这个堆空间。
2012年9月22日 17:02

4个答案 按时间排序 按投票排序

0 0

采纳的答案

这个问题你需要从String创建的两种方法来看
1.String s1 = new String("test");
2.String s1 = "test";
1.jvm会马上创建一个String对象,然后将该对象的引用返回给用户.
2.jvm首先会在对象池中是否存放有该String对象,如果有,则返回已有的String对象给用户
然后你用的都是第二种 所以==是一定会相等的,因为都是同一个对象
这是我的一些理解,希望对你有帮助

2012年9月22日 20:45
1 0

两个都是true,你自己回答正确了
http://www.iteye.com/topic/1122533#2337877

2012年9月23日 15:38
0 0

字符串常量比较 没有涉及到对象比较 所以比较的是值

2012年9月23日 18:45
0 0

两个都是true才对 字面量的比较

可以参考我之前的帖子
http://www.iteye.com/post/2337877

2012年9月22日 17:10

相关推荐

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    java 字符串工具类 java 字符串工具类

    java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java ...

    java字符串练习

    本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式的字符串数据。 首先,我们要讨论的是字符串解析。在Java中,我们可以使用`String`类提供的方法或正则表达式来实现...

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串处理是一项常见的任务,特别是在解析、分析或操作文本数据时。本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标...

    java 字符串 正则表达式 详细实例代码

    通过运行和调试这些代码,你可以加深对Java字符串、正则表达式以及日期时间格式化的理解。 总之,理解和熟练掌握Java中的字符串操作、正则表达式以及日期时间格式化对于任何Java开发者来说都是必不可少的技能。通过...

    java字符串比较举例

    java字符串比较举例,了解如何去判断两个字符串是否相同。

    Java字符串转换为日期和时间比较大小[归类].pdf

    Java 字符串转换为日期和时间比较大小 Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat ...

    JAVA 字符串 操作

    在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。

    java字符串的各种编码转换

    ### Java字符串的编码转换 在Java中,处理不同字符集之间的字符串转换是一项常见任务。尤其是在处理国际化应用时,理解并掌握各种字符编码格式变得尤为重要。下面将介绍几种常见的字符编码格式以及如何在Java中实现...

    java压缩字符串

    java压缩字符串

    Java检索字符串中是否存在某字符

    在Java编程语言中,字符串处理是一项基础且重要的任务。标题提到的"Java检索字符串中是否存在某字符",实际上涉及到字符串的查找算法。这里主要讨论的是KMP(Knuth-Morris-Pratt)算法,这是一种高效的字符串匹配...

    java 字符串中文判断

    在Java编程语言中,处理字符串是非常常见的操作,尤其是在涉及到文本分析和处理的场景。本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要...

    JAVA的字符串拼接与性能

    JAVA的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    java 字符串a-z排序

    在Java编程语言中,对字符串中的字符进行a到z排序是一项常见的操作,特别是在处理文本数据或需要对字母顺序排列的场景。本知识点将详细讲解如何实现这个功能。 首先,我们需要理解字符串在Java中的本质。在Java中,...

    JAVA字符串比较、提取子串等源码小合集.rar

    Java 字符串与文本相关实例源码,比如不可变字符串与限定字符串、字符串的比较、提取子串、修改缓冲区中的字符串、判断回文串、正则表达式、字符串匹配、正则表达式语法等,还一一些比如用于比较两个变量是否引用同...

    JAVA 字符串应用笔记

    7. **字符串比较**: 使用`compareTo(String anotherString)`或`compareToIgnoreCase(String anotherString)`进行字符串的自然顺序比较。 8. **Pattern与Matcher**: `java.util.regex`包提供了`Pattern`和`...

    Java字符串长度不够前面或后面补0.txt

    ### Java字符串长度不够前面或后面补0 在Java编程中,有时我们需要确保字符串达到特定的长度,如果实际长度不足,则需要在字符串的前部或后部添加特定字符(如0)来填充,使得最终字符串满足预设长度的要求。本文将...

    Java字符串分隔方法split实践

    在Java编程语言中,字符串是极其重要且常用的数据类型。字符串处理是许多程序的核心部分,而`split()`方法就是处理字符串的一个关键工具。这个方法允许我们根据特定的分隔符将一个字符串分割成多个子字符串,这对于...

Global site tag (gtag.js) - Google Analytics