`

字符串的==你真理解了??

阅读更多
   String reg="\\b";
   String str2="ddd ssss";
   String[]strs=str2.split(reg);//[ddd  sss]3个字符串
   System.out.println(strs[1]==" ");//false
   String str3=" ";

   String str=str3+"";
   String str1="";
   System.out.println(str==" ");//false----1
   System.out.println(str.equals(" "));//true
   System.out.println(str.equals(""));//false
   System.out.println(str=="");//false
   System.out.println("-----------");
   System.out.println(str1=="");//true
   System.out.println(str1.equals(""));//true

如果你接着测试

str=" ";
str==" "打印出师true

那为什么1处打印出为false  但equals是true呢?

String s3 = (new StringBuilder()).append(s2).append("").toString();

这要想到常量池!常量池是在编译时期确定的!但这里Str3+""是在运行时创建的String对象!所以不存在常量池中!
和这个应该一样
 
   String ostr1="b";
   String ostr2="a"+ostr1;

产生的字节码是翻译过来就是
        String s1 = "b";
        String s2 = (new StringBuilder()).append("a").append(s1).toString();


可以看出和“ab”对象完全不一样!
分享到:
评论

相关推荐

    VB拆分字符串,分隔字符串

    在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符...通过实践和理解这些内容,你将在VB字符串处理方面变得更加熟练。

    指针与字符串=答案.doc

    本实验旨在帮助学生理解如何通过指针操作字符串,以及进行相关函数的定义和调用。 1. **指针与字符串的转换** 在提供的代码中,有一个函数`f(s)`,其目的是将输入的字符串`s`转换为回文字符串。回文字符串是指正...

    指针及字符串=答案.doc

    给定一个字符串,如 "abcdefg",函数应该能够交换字符串的前半部分和后半部分,使得输出为 "gfabced"。这要求对字符串进行有效的指针操作。 【程序】 ```c #include #include void f(char *str) { int len; ...

    C#中在一个字符串中删除另一个字符或字符串

    标题提到的“C#中在一个字符串中删除另一个字符或字符串”涉及到的关键知识点主要包括字符串操作、字符数组、字符串替换以及正则表达式。以下将详细讲解这些知识点。 首先,C#中的字符串(`string`)是不可变的,这...

    统计字符串中子字符串出现的次数,并返回

    同时,理解和掌握字符串操作的内部机制,例如C#的字符串是不可变的,每次修改都会创建新的字符串对象,这对于内存管理和性能都有影响。 综上所述,"统计字符串中子字符串出现的次数,并返回"这一功能涉及了C#中的...

    截取指定长度的字符串

    通过以上讲解,你应该对如何截取指定长度的字符串有了基本的理解。在实际编程中,可以根据具体需求选择合适的方法,并结合其他字符串操作,如查找、替换、连接等,以实现更复杂的字符串处理任务。记住,实践是检验...

    字符串相似度算法 字符串相似度算法 字符串相似度算法

    字符串相似度算法 字符串相似度算法是一种衡量两个字符串之间相似度的方法,广泛应用于自然语言处理、数据挖掘、机器学习等领域。...通过对Levenshtein Distance算法的了解,可以更好地理解和应用字符串相似度算法。

    labview字符串创建数组

    - **字符串分割**:如果你有一个长字符串,需要将其分割成多个子字符串,可以使用“字符串分割”函数。这个函数根据指定的分隔符将字符串分割成数组。 - **字符到字符串数组**:如果你有字符数组,可以使用“字符...

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

    你可以遍历字符串,遇到开括号时入栈,遇到闭括号时检查栈顶元素是否为对应的开括号,如果是,则弹出栈顶元素并记录括号内的内容。 以下是一个使用栈的示例: ```java import java.util.Stack; public class Main...

    c#中 base64字符串与普通字符串互转

    在C#编程语言中,Base64是一种用于将二进制数据编码为ASCII字符串...在进行转换时,需要确保对字符串的编码有准确的理解,以便正确地转换和还原。在实际应用中,Base64编码对于二进制数据的传输和存储有着广泛的应用。

    C语言字符串练习(习题+答案).zip

    3. 字符串连接:strcat()和strncat()函数用于连接两个字符串,理解它们的区别和使用场景,以及注意防止溢出。 4. 字符串查找:strchr()和strstr()函数分别用于查找字符和子字符串在字符串中的位置。 5. 字符串长度...

    TIA博途-字符转换为字符串以及截取字符串有效字符的具体方法示例.docx

    在处理通信数据时,我们经常需要对字符和字符串进行操作,例如将字符转换为字符串,或者从字符串中截取有效字符。以下将详细介绍在TIA博途中如何实现这些操作。 首先,字符转换为字符串的过程通常涉及到ASCII码。...

    查找字符串中出现重复次数最多的字符

    这是一个典型的字符串处理问题,对于理解字符串操作和优化算法能力的提升非常有帮助。 首先,我们要明确问题的目标:给定一个字符串,找出其中出现频率最高的字符。这个问题可以通过多种方法解决,例如使用哈希表...

    字符串转ASCII ASCII转字符串

    在计算机科学中,字符编码是将字符转换成数字表示的过程,而ASCII(American Standard Code for ...通过学习不同编程语言中的相关函数和方法,你可以灵活地在ASCII和字符串之间进行转换,满足各种应用场景的需求。

    Freemarker操作字符串

    它在Java平台上广泛应用于Web开发,可以与Spring MVC等框架结合,用于生成视图层的...在阅读《FreeMarkerDemo》项目中的代码,你会更深入地理解这些概念,并可能发现更多关于FreeMarker操作字符串的技巧和最佳实践。

    MATLAB 将数值嵌入字符串示例

    在MATLAB编程中,将数值嵌入字符串是一项常见的任务,特别是在数据分析、报告生成或自定义消息输出时。本文将深入探讨如何在MATLAB中实现这一...通过熟练掌握数值与字符串的交互,你可以更有效地传达计算结果和信息。

    Java分割字符串

    在Java编程语言中,分割字符串是一项常见的...理解正则表达式和`split()`方法的用法对于处理复杂的字符串处理任务至关重要。在实际编程中,根据需求选择合适的正则表达式和分割策略,能有效提高代码的效率和可读性。

    十六进制与字符串转换

    在实际应用中,你可能会遇到更复杂的情况,比如处理包含多个字节的数组或者字符串,这时需要对整个数组或字符串进行循环操作,逐个字符进行转换。在处理这些情况时,理解内存布局、数据类型和进制转换的原理是非常...

    判断字符串是否中心对称

    在编程领域,中心对称是一种特殊的字符串特性,指的是一个字符串从中心点开始向两边读取,字符顺序完全相同。例如,"abcba" 和 "madam" 都是中心对称的,因为它们分别从中心点'c'和'a'向外读取,都能得到相同的字符...

    字符串中分离特定字符串隔开的字符串

    例如,如果你有一个由逗号分隔的字符串,你可以这样做: ```java String str = "苹果,香蕉,橙子"; String[] fruits = str.split(","); ``` 在这个例子中,`fruits`数组将会包含三个元素:`"苹果"`、`"香蕉"`和`...

Global site tag (gtag.js) - Google Analytics