当前位置: 首页 > news >正文

网站运营与推广方案建立网站的详细步骤

网站运营与推广方案,建立网站的详细步骤,婚纱摄影网站建设,照片在线编辑String类1.String类1.1 特性1.2 面试题1.3 常用方法1.4 String与其他类型之间的转换2. StringBuilder类、StringBuffer类:可变字符序列1.String类 1.1 特性 String类为final类,不可被继承,代表不可变的字符序列; 实现了Serializ…

String类

  • 1.String类
    • 1.1 特性
    • 1.2 面试题
    • 1.3 常用方法
    • 1.4 String与其他类型之间的转换
  • 2. StringBuilder类、StringBuffer类:可变字符序列

1.String类

1.1 特性

  1. String类为final类,不可被继承,代表不可变的字符序列;

  2. 实现了Serializable接口,表示字符串支持序列化; 实现了Comparable接口,表示字符串可比较大小;

  3. String对象的字符内容是存储在内部的final char型数组value中的;该数组不可再赋值,其元素也不能再改变;

  4. 字符串是常量,用双引号表示,具有不可变性,其值在创建之后不能改变;体现:
    1)当对字符串引用重新赋值时,需重新开辟内存区域进行赋值,不能使用原有的value数组进行赋值;
    2)当对现有字符串进行拼接操作时,需重新开辟内存区域进行赋值,不能使用原有的value数组进行赋值;
    3)当使用replace方法对字符串内容进行修改时,需重新开辟内存区域进行赋值,不能使用原有的value数组进行赋值;

  5. 通过字面量的方式(区别于new)给一个字符串引用赋值,该字符串值声明在字符串常量池中;

  6. 字符串常量池不会存储相同内容的字符串;

在这里插入图片描述

1.2 面试题

面试题1: 通过1)字面量方式声明变量;2)new String(“xxx”)的方式声明变量,的区别?

字符串常量存储在方法区的字符串常量池中,目的是共享; 字符串非常量对象存储在堆中;

面试题2: String s=new String(“abc”)方式创建对象,在内存中创建了几个对象?

1)堆空间中的new 结构;2)value数组对应的字符串常量池中的数据"abc";

面试题3final 修饰的字符串变量为常量,存储在常量池!

在这里插入图片描述
在这里插入图片描述

结论:通过不同的字面量赋值方式进行变量声明,有什么区别?

  • 如果只是不同字面量的拼接,则拼接结果在常量池;
  • 一旦拼接对象涉及到变量,则拼接结果在堆中;
  • 如果拼接结果调用intern()入池方法,则方法返回值在常量池中;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 常用方法

int compareTo(String anotherString):该方法返回值有3中可能:比如"当前串".compareTo(“被比较串”)

  • 0:表示两个字符串内容相等;
  • >0:表示当前串大于被比较串;
  • <0表示当前串小于被比较串;

在这里插入图片描述
indexOf(str)和lastIndexOf(str)的返回值什么情况下相等?

  • case1:原始串中只有一个str;
  • case2:str不存在,返回值均为-1;

在这里插入图片描述
regex是正则表达式,比较复杂:
之前一个坑点就是split时,如果以反斜杠进行分割,在regex中切记使用\\\\四个反斜杠!!
在这里插入图片描述

1.4 String与其他类型之间的转换

1.基本数据类型与String之间的转换

String->基本数据类型:借助基本数据类型对应的包装类中的,包装类.parse类型(字符串)实现,比如Integer.parseInt(“123”); 基本数据类型->String:使用String.valueOf(数据)实现,如String.valueOf(123);

2.字符串数组与String之间的转换
一般Java中涉及到区间,均为左闭右开区间;
在这里插入图片描述
3.Byte数组与String之间的转换
此处需要注意不同的编码集所表现的效果可能不同!!
字节数组->字符串时可指定解码的字符集,使用new String(byte[],String charsetName)
编写程序时需要注意,编码字符集与解码字符集需要保持一致,否则会出现乱码!!
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. StringBuilder类、StringBuffer类:可变字符序列

String、StringBuilder、StringBuffer三者的相同点与不同点?

不同点:

String:不可变的字符序列;
StringBuffer:可变的字符序列;线程安全,效率低;JDK5.0
StringBuilder:可变的字符序列;线程不安全,效率高;JDK5.0新增的类;

相同点:

均与字符串操作相关,且底层均使用char型数组存储数据;

StringBuilder/StringBuffer内容可变的原因:
使用无参构造StringBuilder()时,会默认开辟长度为16的char型数组value,用于后续进行数据添加;
使用有参构造StringBuilder(String str)时,会开辟长度为str.length()+16的char型数组value,用于后续进行数据添加;
在数据append时,发现此时的value数组不足以存储数据,则需要进行数组扩容操作1)默认将数组容量扩充到原始大小的2倍+2;2)将数组原始内容复制到扩充后的数组中;
已知可变字符序列在内容新增时可能出现数组扩容操作,而扩容操作涉及到数组内容复制,效率较低故我们在使用StringBuilder/StringBuffer时,可以在最开始实例化对象时使用有参构造StringBuilder(int capacity),在最开始就创建一个大小合适的value数组,尽量避免数组扩容带来的负面影响。
在这里插入图片描述

在这里插入图片描述

StringBuilder/StringBuffer常用方法:
二者提供的方法一致,其使用方法统一,区别在于StringBuffer线程安全:
在这里插入图片描述
在这里插入图片描述

三者效率关系:
StringBuilder>StringBuffer>String

资料来源:尚硅谷

http://www.hkea.cn/news/44090/

相关文章:

  • 网站站外优化怎么做企业推广app
  • 拉趣网站是谁做的威海网站制作
  • 做宣传海报的网站百度导航2023年最新版
  • 湖南做网站 磐石网络windows优化大师官方免费
  • 制作网站的最新软件如何优化关键词的方法
  • 东莞工作招聘网最新招聘搜索 引擎优化
  • 宁波俄语网站建设免费发广告的平台有哪些
  • 郑州外贸网站建设及维护营销软件商城
  • 泉州百度关键词排名广州网站营销优化qq
  • 怎么做wep网站营销推广活动方案
  • 展示型网站php官方app下载安装
  • 嘉祥网站建设广东省自然资源厅
  • 忘记网站后台密码网站排名软件推荐
  • 怎么查公司网站有没有被收录火爆产品的推广文案
  • 绵阳网站建设 经开区网络教学平台
  • wordpress阅读量没改7个湖北seo网站推广策略
  • 网站建设成功案例方案找培训机构的平台
  • 园林绿化网站建设百度关键词优化公司
  • 个人如何建设网站网络营销方式有哪些分类
  • 北京做百度网站建设电商平台如何推广运营
  • 电脑个人网站怎么做网络销售新手入门
  • 海口网站建设 小黄网络手机百度搜索
  • 太原百度网站建设网站应该如何进行优化
  • 烟台市做网站uc浏览网页版进入
  • 工程信息网站哪家做的较好提高工作效率心得体会
  • 建站平台入口徐州网站设计
  • 出口手工艺品网站建设方案站长统计app下载
  • 提升学历骗局武汉搜索引擎排名优化
  • wordpress+park主题上海全国关键词排名优化
  • 潍坊最早做网站的公司短链接生成网址