如鹏网.Net高级技术4.String特点及常用方法
String特点及常用方法
字符串的特性:不可变性和"暂存池"(常量池)的特性
通过案例了解字符串中的方法.
如何比较两个对象是不是同一个对象的最准确的方法ReferenceEquals
-------------------------------------------------
不可变性:str 被赋值后 内存地址是不一样的。
只是字符串的值是常量值时,就指向暂存池中的对象。
string s1="1",s2="2",s3="3";
string str="123";//指向暂存池中的对象。
stirng s=s1+s2+s3; //不是指向暂存池中的对象。
此时 str!=s;
字符串:变量名指向 暂存池中的对象。
------------------------------------------------
比较两个对象是否为同一个对象:地址是否相同
课件中讲解Equals和"=="两种方式比较两个对象是不是同一个对象已经不准确了,因为都可以被重写.
只有通过object的ReferenceEquals方法才更加的准确
因为Equals可以被重写,所以比较不准确。
比较两个对象是否为同一个对象,什么是同一个对象?(地址)
如何判断str1与str2是否为同一个对象?
Equals和== Equals已经不可靠了。"=="也不靠谱了。
String类的==运算符,内部调用的也是Equals("=="运算符重载后也是调用的 EqualsHelper()来判断的,与Equals(string)方法一样。只是比较值是否相等)
为什么字符串的Equals和别的不一样?
string的Equals方法判断的是字符串的内容是否相同(重写了Object中的Equals方法。)
查看判断两个对象是否相同要用:object.ReferenceEquals();
即时窗口中:*p1 获得地址
同一个对象判断使用:object.ReferenceEquals(s1,s2);最准确判断同一个对象。
如鹏网:http://www.rupeng.com
转载于:https://www.cnblogs.com/wjs5943283/p/5242839.html
如鹏网.Net高级技术4.String特点及常用方法相关推荐
- 如鹏网 net高级技术 第二章 委托和事件(复习)
委托 委托是一种数据类型,可以声明委托类型变量. 委托是一种可以指向方法的数据类型. 声明委托的方式:delegate返回值类型 委托类型名(参数) 比如 delegate void MyDel( ...
- .Net高级技术笔记
.Net高级技术 数组/多维数组/交叉数组 装箱&拆箱 字段私有,属性赋值(私有匿名后备字段) 引用/"指针" 数组/多维数组/交叉数组 namespace Console ...
- 如鹏网.Net基础2 专题课:ASCII码和拆数
第 1 节 ASCII介绍和char转换为int 美国标准信息交换码 计算机中存储的都是二进制数据. 什么是ASCII码? char和int的转换: char的大写小转换: '1'转换为1:和1转换为 ...
- spring(7)spring mvc 的高级技术
[0]README 1)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review "spring(7)spring mvc 的高级技术 ...
- GridView 高级技术
GridView 高级技术 汇总脚注 GridView 的主要目标是显示一组记录,但是你还可以加入一些有趣的信息,如汇总数据.需要如下的操作: 设置 GridView.ShowFooter 为 tru ...
- 第一篇 .NET高级技术之索引器
第一篇 .NET高级技术之索引器 基础知识补充 索引 器 没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;} 可以是只读或者只写(在get或者set前 ...
- .net高级技术(class0515)
本次课程中讲的有的东西都是根据初学者的认知规律进行了调整,并不是严谨的,比如很多地方在多AppDomain条件下很多说法就不对了,但是说严谨了大家就晕了,因此继续不严谨的讲吧. 很多面试题都在这阶段的 ...
- 怎样在计算机上进行高级搜索,怎么用中国知网的高级检索才能准确找到自己想要的文献?...
原标题:怎么用中国知网的高级检索才能准确找到自己想要的文献? 知网的检索方式很多,一框式检索是小伙伴们常用的方式.但需要匹配多个检索词时,小伙伴肯定会用到CNKI高级检索啦.高级检索可以帮助小伙伴们匹 ...
- 【第36题】JAVA高级技术-对象克隆5(几种深克隆效率比较)
回城传送–><JAVA筑基100例> 文章目录 零.前言 一.题目描述 二.解题思路-序列化克隆 三.代码详解 原生序列化和Kryo序列化性能比较 结论 四.推荐专栏 五.示例源码下 ...
- 如鹏网.Net三层架构第一章三层基础
三层架构: 1.通常意义上的三层架构就是将整个业务应用划分为:表现层.业务逻辑层.数据访问层.区分层次的目的即为了"高内聚低耦合"的思想. 2.该课程中通过讲解餐饮管理系统来让大家 ...
最新文章
- Linux系统快速安装JDK
- 解决firefox ubuntu无法打开页面的问题
- 4 流程控制》4.5 比较for循环和while循环
- CSS:响应式下的折叠菜单(条纹式)
- SmartNIC/DPU — Overview
- 设计模式系列--Strategy
- 体验VS2017的Live Unit Testing
- java 连接池连接mysql数据库需要哪些jar包_DBCP-基于Java8导入DBCP连接池所需JAR包并编写DBCPUtils工具类...
- 1.1.0-简介-P3-CAP 分布式 高可用
- Python MySQL(MySQLdb)
- 小成开发日记----python爬虫利用selenium实现无限刷不背单词app的酷币
- python暑假培训班
- 巨潮资讯网-多层次资本市场信息披露平台
- 计算机测电阻伏安特性实验报告,《电学元件伏安特性的测量》实验报告附页
- Android逆向之CA证书提取
- Android自定义九宫格密码解锁
- Django----做一个简单网页的教程(适合初学者)
- 如何用纯 CSS 实现酷炫的霓虹灯效果?
- 什么是线下门店陈列洞察?百度AI人工智能
- 信息系统项目管理重点:电子政务