`

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

阅读更多
   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”对象完全不一样!
分享到:
评论

相关推荐

    指针与字符串=答案.doc

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

    指针及字符串=答案.doc

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

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

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

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

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

    字符串处理函数列表,字符串处理函数列表

    以下是一些常见的字符串处理函数,这些函数通常在C语言或其他类似语言中使用,虽然这里没有提供具体的编程语言环境,但理解这些函数的基本功能对于任何程序员都是有益的。 1. bcmp:这个函数用于比较两个内存块的...

    字符串、字符和正则表达式

    总结来说,理解和熟练运用字符串、字符和正则表达式对于任何C#开发者都是必要的。理解它们的特性和方法,以及如何有效地利用它们来优化代码,是提高编程技能的关键步骤。在实践中,应当遵循最佳实践,避免常见的陷阱...

    库卡机器人高级字符串处理指令文档

    库卡机器人高级字符串处理指令文档 库卡机器人高级字符串处理指令文档是一份详细的指令文档,旨在提供给库卡机器人用户和开发者,用于了解和掌握高级字符串处理指令的使用方法和技术细节。该文档涵盖了CREAD/CWRITE...

    vbscript Split函数用法详解(字符串转数组函数)

    VBSplit函数是Visual Basic Script (VBS)中用于将字符串分割成多个子字符串的内置函数。这个函数非常实用,特别是在处理和分析文本数据时。下面是对Split函数的详细解释和一些实例。 **Split函数的基本语法:** ```...

    求字符串长度、比较字符串 、复制 、连接——C语言程序

    C语言中的字符串操作可以使用指针或数组来实现,而数组版本的实现方法更为直观和易于理解。但是,无论是指针版本还是数组版本,字符串操作都是C语言中非常重要的一部分,它们广泛应用于各种编程领域。

    C#字符串总结

    此外,还有一些常用的字符串方法,例如`IndexOf`用于查找子字符串的位置,`Substring`用于截取字符串的一部分,`Trim`和`TrimStart/End`用于去除字符串两端的空白字符,`ToLower/ToUpper`用于转换大小写,`Format`...

    判断2个字符串是否含有相同的字符

    (关于空间的占用,如果要用一个和字符串a一样长的数组counter来计录a中各起点对应与b最大重合子字符串,这个数组也要和a一样长,空间上也不合适,除非情形很特殊,a短b长,不然不如直接malloc()一个堆空间来储存...

    关于面试题目中回环字符串的解答

    回环字符串,也称为环状字符串或循环字符串,是指可以通过将字符串的一部分移动到字符串的开头,使得整个字符串形成一个环状结构的字符串。在给定的代码中,我们有两个主要的函数`isok()`和两个辅助函数`addhead()`...

    字符串?好吃吗:Python字符串.pptx

    字符串具有一定的顺序性,每个字符在字符串中都有一个唯一的编号,即索引,这使得我们可以访问和操作字符串中的任意字符。 字符串的索引从0开始,表示从左到右的第一个字符,而从-1开始的索引则是从右到左的顺序。...

    C语言字符串快速压缩算法代码

    首先,我们需要理解字符串在C语言中的表示方式。在C语言中,字符串是以字符数组的形式存在的,通常以空字符'\0'作为结束标志。例如,`char str[100] = {'\0'};`定义了一个可以容纳99个字符的字符串数组。 接着,...

    reverse字符串倒转输入

    字符串倒转算法详解 在计算机科学中,字符串倒转是指将一个字符串的字符顺序颠倒的过程。例如,将字符串"This is a apple"倒转得到"apple a is this"。...了解这些算法可以帮助我们更好地理解字符串处理的原理和方法。

    C#编写的字符串、异常处理程序

    在本实验中,我们将深入探讨C#...通过这个实验,学生将能熟练掌握C#中字符串的使用技巧,理解异常处理的重要性,以及如何在实际编程中应用这些概念。这不仅有助于提高编程技能,也为解决更复杂的问题打下了坚实的基础。

    oc字符串操作.pdf

    在Objective-C(OC)中,字符串处理是编程中常见的任务。Objective-C提供了两种主要的字符串类型:`NSString` 和 `NSMutableString`。`NSString` 是不可变的,一旦创建就无法修改,而 `NSMutableString` 支持在字符...

    实验四 字符串和输入输出流的实验(1).doc

    本实验报告的目的是通过实验四,字符串和输入输出流的实验,来理解流的概念分类、掌握字符串常用操作方法、掌握流的构造、套接在编程中的应用,理解和掌握文件流以及对象的串行化。 一、实验内容 实验内容包括三个...

    jdbc连接字符串示例

    JDBC 连接字符串示例 本文将详细介绍 JDBC 连接字符串的示例,包括 Oracle、...本文中,我们提供了 Oracle、MySQL、SQL Server 等多种数据库的连接字符串示例,希望能够帮助读者更好地理解和使用 JDBC 连接字符串。

    MATLAB 将数值嵌入字符串示例

    本代码主要利用MATLAB工具实现MATLAB 将数值嵌入字符串示例,简单明了,易于理解

Global site tag (gtag.js) - Google Analytics