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

建筑网站、市政工程公司

建筑网站、,市政工程公司,php7 wordpress 无法安装,给公司建立网站吗Java中的String类作为存储和操作文本数据的基本类型,是开发过程中最常用的类型。 String类型的声明及初始化与基本数据类型非常相似: String name "lcy";但是String类型是引用类型,有着非常丰富的处理字符串的方法。正是因为其重…

Java中的String类作为存储和操作文本数据的基本类型,是开发过程中最常用的类型。

String类型的声明及初始化与基本数据类型非常相似:

String name = "lcy";

但是String类型是引用类型,有着非常丰富的处理字符串的方法。正是因为其重要性,Sun公司针对String类型做了很多优化,使得String类型使用起来非常灵活、高效、简单。

作为Java程序员,不仅要掌握String类型的用法,还应该深入原理,领略其设计之妙和设计之美。

一,String介绍

1,初识String

官网API文档

在这里插入图片描述

  • String类位于java.lang包下,使用这个包下的类时,无需用import显式导入

  • String类被定义为final类型,不能被继承,其方法不能被重写
    Java中的String类型实现了几个关键接口,这些接口赋予了String特定的功能和行为,具体包括:

  • 实现了Serializable接口,表明String对象是可以被序列化的,即它可以被转换成一系列字节,保存到磁盘上或通过网络进行传输,之后还能恢复成原来的状态

  • 实现了CharSequence接口,这使得String对象具备处理组成字符串的单个字符的能力

  • 实现了Comparable接口,String对象可以直接与其他String对象进行自然排序(基于字典顺序)。这使得字符串可以直接用于排序算法中,或者存储在需要排序的集合(如TreeSetTreeMap)里,而无需额外提供比较器

这些接口的实现使得String不仅能够作为基本的文本载体,还能够在更广泛的上下文中发挥功能,比如参与序列化操作、在泛型算法中作为字符序列被操作,以及在需要比较和排序的场合自动排序,体现了其设计的通用性和实用性。

2,不可变的字符串对象

API文档上明确说明String objects are immutable ,即字符串对象是不可变的,应该如何理解不可变呢?

创建字符串对象后,字符串的值不能被修改String不提供任何方法修改字符串的值。如下图,字符串对象创建后,堆内存中存储了字符串lcy,那么除非整个对象被垃圾回收,否则无法通过StringAPI修改内存中的值,值始终都是lcy

在这里插入图片描述

有的同学会举分离,下面的代码可以改变字符串的值,你怎么解释呢?

name = name + " hello";
System.out.println(name);// 输出 lcy hello

上面代码表面上改变了name的值,实际上 name + " hello" 这行代码会创建一个新对象,name变量指向新对象002,原来的对象001是没有被修改的:

在这里插入图片描述

二,String方法

1,构造字符串对象

String类提供的构造方法比较多,常见的有以下几种:

1.1 字面量

通过字面量创建一个字符串对象:

 String str =Hello Java;
1.2 空构造函数
String str = new String();

该字符串对象的值为空字符串"".

1.3 通过字符数组构造
char[] chars = {'H', 'e', 'l', 'l', 'o'};
String str = new String(chars);
1.4 通过字符数组的一部分构造
char[] chars = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'};
String str = new String(chars, 0, 5); // 取前5个字符
1.5 通过字节数组构造
byte[] bytes = {72, 101, 108, 108, 111}; // ASCII编码的"Hello"
String str = new String(bytes);

2,遍历

for(char c : str.toCharArray()) {System.out.println(c);
}

3,截取

String subStr = str.substring(0, 5); // 获取前五个字符

4,替换

String replaced = str.replace("World", "Java"); // 将"World"替换为"Java"

5,查找

int index = str.indexOf("World"); // 返回"World"首次出现的位置

6,比较

boolean isEqual = str.equals("Hello, World!"); // 比较内容是否相等
http://www.yayakq.cn/news/677913/

相关文章:

  • 网站优化流程齿轮机械东莞网站建设技术支持
  • html5餐饮美食订餐微官网wap手机网站模板整站下载上海 网站设计
  • 网页设计就是做网站优化的吗有没有网址发一下
  • 北京网站域名备案查询wordpress访问后台
  • 天津高端模板建站企业网站管理系统课设
  • 局域网视频网站开发网站建设工资一月多少钱
  • 单页电影网站源码传统外贸网站的seo运用
  • 学院网站设计案例ios开发网站app
  • 建设网站有哪些好处黄页网络的推广网站有哪些
  • 网站哪里可以查到做ddos购买一个网址多少钱
  • 做网站买虚拟服务器wordpress 执行流程
  • 网站建设的基本知识高端网页开发公司
  • 做物流网站多少钱wordpress 去掉w
  • 企业网站建设可行分析购物网站计划书
  • 网站介绍视频怎么做无忧软文网
  • 网站网页?问?无锡网络营销推广
  • 佛山建设企业网站诚讯通网站
  • 网站建设总体需求报告iis应用程序池 网站
  • 向谷歌提交网站学广告设计的培训机构
  • 旅游电子商务网站开发方案制作宣传图片的软件
  • 国外创意网站设计南京网络推广优化哪家好
  • 用react和ant.d做的网站例子中小企业还需要网站吗
  • 比价网站国家高新技术企业认定官网
  • 建设部网站注册人员周到的做pc端网站
  • 济源网站建设费用烟台龙口网站建设
  • 网站建设 福田百度点击软件名风
  • 阿里云安装网站如何最便宜建设一个网站
  • 顺德大良那里做网站好广州 网站建设
  • 佛山做网站公司wordpress资源类主题
  • 中国住房和城乡建设部网站造价师注册江苏专业网站建设公司电话