String字符串

文章目录

  • String类
    • String常用的字符串处理方法
    • StringBuffer类
  • StringBuffer
    • StringBuffer类中常用的方法
    • StringBuilder类(了解为主)
    • StringTokenzier类(了解为主)

在这里插入图片描述


final属性,不可扩展,不可子类,不可改变。
数据在常量池
String s1="1";
String s2="1";
String s3=new String("1");
s1=s2   s1与s2都是常量区,地址相同
s1!=s3  s3是栈,地址不同"1"+"2" 是常量+常量=常量
String s1="1"; s1是变量
String s2="2"; s2是变量
s1+s2=变量+变量=变量(new的 在堆中)字符串比较所有字符的Ascll大小
String s1="1";
String s2="1";
System.out.println(s1.compareTo(s2));
-1 S1<S2
0  S1=S2
1  S1>S2判断字符串包含关系
String s1="1";
String s2="12";
System.out.println(s2.contains(s1));
S2包含S1 true查找指定字符位置
Strings1="12";
System.out.println(s1.indexOf('1'));   0位置
System.out.println(s1.indexOf('2'));   1位置
System.out.println(s1.indexOf('3'));   -1找不到字符串截取,
String s1="0123456789";
从指定位置一直到最后
System.out.println(s1.substring(7));   789A位置到B位置之前,不包括B位置
System.out.println(s1.substring(7,8));   7去掉前后空格
S1.trim();Stringchar[]
Strings1="0123456789";
char[] list=s1.toCharArray();
System.out.println(list);字符串比较所有字符的Ascll大小
String s1="001122";
System.out.println(s1.replaceAll("11","33"));
System.out.println(s1);
003322
001122字符串分割
S1="11 22 33";
S1.split(" ")=["11","22","33"]

String类

String是字符串常量类
String对象的值一经赋值,其值不可变
指的是所指向的内存值不可修改,但可以改变指向

String list=new String("hello");
list引用指向了对象
引用数据类型不直接拥有空间,只是指向空间
list=new String("hai");
引用指向被改变

String类型变量的初始化
方法一:构造方法初始化
String name= new String(“zhangxiao”);
方法二:字符串常量初始化(不推荐)
String sex = “男”;

//了解为主!!!
s="hello";
相当于:s=new String("hello);
在JVM中进行的优化String s1="hello";
s==s1;
这是因为JVM进行的优化

String类是final的,无法被继承

String s = “hello” 和 String s = new String(“hello”) 有什么不一样?
两个对象的内存不同

String常用的字符串处理方法

字符串连接(不改变原来的数据)
concat(String str)
“+”运算符

String s1=new String("111");
String s2=new String("222");
s1=s1+s2;
s1=s1.concat(s2);
  • 字符串查找

indexOf (String str)
lastIndexOf(String str)
charAt(int indexOf)
startsWith(String prefix)检测字符串是否以指定的前缀开始。

  • 字符串分割

split(String regex):字符串分割
compareTo(String str):字符串比较
equalslgnoreCase(String str):忽略大小写

  • 字符串替换

replace(char oldChar, char newChar)

  • 字符串求子串

substring(int beginIndex, int endIndex)

  • 字符串大小写转换

toUpperCase() 小写转大写
ToLowerCase()大写转小写

StringBuffer类

StringBuffer

 StringBuffer sb=new StringBuffer();添加sb.append("123");sb.append('4');System.out.println(sb);    					1234获取指定位置字符System.out.println(sb.charAt(0));				1插入System.out.println(sb.insert(2,"00"));			120034字符串反转System.out.println(sb.reverse());				430021删除System.out.println(sb.delete(2, 4));      		4321替换System.out.println(sb.replace(2, 4, "00"));	4300

StringBuffer类是一个字符串变量类
StringBuffer对象的值可以修改
主要用于对字符串做大量修改的操作时
StringBuffer变量的初始化
构造方法初始化
StringBuffer stringBuffer = new StringBuffer(“Hello”);

StringBuffer类中常用的方法

  • 字符串连接:append(Object obj)

  • 字符串删除:delete(int start,int end)

  • 字符串插入:insert(int offset,Object obj)

  • 字符串逆序:reverse()

  • 转换为String对象:toString()

在这里插入图片描述

只使用·String时内存消耗比较大

StringBuilder类(了解为主)

StringBuilder类与StringBuffer类的方法调用是一致的。
StringBuilder类与StringBuffer类的区别:
– StringBuffer是线程安全的
– StringBuilder是非线程安全的
(多线程)

StringTokenzier类(了解为主)

StringTokenizer类主要用途是将字符串以定界符为界,分析为一个个独立的token(大块变小块)。
StringTokenizer中的定界符可以自己指定。
StringTokenizer常用的方法:
hasMoreTokens:是否有更多的分隔符
nextToken:返回下一个分隔符前的内容值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255156.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

在idea中创建一个SpringBoot模块

方式一&#xff1a;自动创建&#xff08;需要联网&#xff09; 第一步&#xff1a;新建模块 按住ctrlshiftalts&#xff0c;打开项目结构&#xff0c;选择新建模块&#xff1b; 第二步&#xff1a;选择Spring Web &#xff08;1&#xff09;选择SpringBoot版本&#xff0c…

结构型模式的设计模式笔记

此笔记是在软件秘笈-设计模式那点事上做的笔记 一.适配器模式 1.设计思路 既有的软件结构具有稳定运行的基础&#xff0c;但是却无法直接利用到新的程序当中&#xff0c;这时就需要一个适配器&#xff0c;在原有内容和新的结果之间沟通&#xff0c;从而达到预期的效果 &#…

asp.net 面试题目

1、页面传值的方式及其优缺点?Session,Application,Cookies,Requst.QueryString,Requst.Form,Server.Transfer(通过Context.Handler接收整个页面)2、ASP.NET身份验证方式及其工作原理Windows 身份验证提供程序提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 …

浮躁的原罪-兼答网友留言

交流的起点&#xff1a; 首先感谢所有回帖和关注的网友。因为下面主要是对异议和反对者的答复&#xff0c;这看来对支持&#xff0f;认同我的观点和心有戚戚焉的各位不公平&#xff0c;所以这里先对你们的支持表示感激。无论是对反对者还是支持者&#xff0c;随着我的观点的展…

【案例】 生成词云玩玩?

案例介绍 今天我们来生成词云&#xff0c;所谓词云&#xff0c;就是以一定的频度将大小不用的词汇显示在图片模板上。 准备工作 wordcloud&#xff08;生成词云核心&#xff09;PILnumpyjieba&#xff08;提供分词功能&#xff09;模板图片需要分析的文本 模板图片 文本内容…

python汉语意思-python汉语谐音

广告关闭 2017年12月&#xff0c;云社区对外发布&#xff0c;从最开始的技术博客到现在拥有多个社区产品。未来&#xff0c;我们一起乘风破浪&#xff0c;创造无限可能。 上面介绍beautifulsoup的特点时说到了&#xff0c;beautifulsoup支持python标准库的解析器html5lib&…

android的属性如何使用方法,Android第二大控件,EditText的属性和使用方法

原标题&#xff1a;Android第二大控件&#xff0c;EditText的属性和使用方法 EditText与TextView非常相似&#xff0c;它甚至与TextView 共用了绝大部分XML属性和方法。EditText与TextView的最大区别在于&#xff1a;EditText可以接受用户输入。 一、EditText简介 EditText支持…

android textview点击部分,Android开发第二大控件,EditText的属性和使用方法

EditText与TextView非常相似&#xff0c;它甚至与TextView 共用了绝大部分XML属性和方法。EditText与TextView的最大区别在于&#xff1a;EditText可以接受用户输入。 一、EditText简介 EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法&#xff0c…

C# 学习笔记入门篇

文章目录 C# 学习笔记入门篇〇、写在前面Hello World!这篇学习笔记适合什么人这篇学习笔记到底想记什么附加说明 一、命名空间“进入”命名空间嵌套的命名空间、分立的命名空间习题习题答案 二、类与面向对象相关概念在 C# 中定义类静态方法&#xff0c;程序入口习题 三、变量其…

小学计算机教学管理工作总结,2020小学信息技术教师教学工作总结

弹指一挥间,我在教师的岗位上走过了一年。下面是小编准备的2020小学信息技术教师教学工作总结&#xff0c;欢迎阅读。 2020小学信息技术教师教学工作总结1 从20**年至今&#xff0c;我一向担任我校的信息技术教学工作&#xff0c;由起初不知该怎样教的“学习型”教师&#xff0…

小学计算机课教学工作总结,小学信息技术课教师工作总结3篇

小学信息技术课教师工作总结3篇 在小学信息课堂教学中&#xff0c;教师进行教学设计时要充分结合学生的心理特点和兴趣取向&#xff0c;努力为学生创造出充满趣味性的学习环境。接下来小编给大家整理了小学信息技术课教师工作总结3篇&#xff0c;仅供参考。 小学信息技术课教师…

计算机房一般的讲台,小学糗事——献给黄陂蔡店小学辛勤的园丁

文 | 程志清(蔡店|宜昌) 1959年8月30日&#xff0c;我堂而皇之地来到蔡店北庙小学(以前都是偷偷来摸菩萨的。北庙小学&#xff0c;即蔡店小学前身)。 一进大门&#xff0c;只见天井上方正厅通体浑圆的大泥菩萨下&#xff0c;摆着一张课桌。课桌旁&#xff0c;坐着梳搭毛头的中年…

述计算机标点用途,顿号(标点符号)_百度百科

[dn ho] 顿号 (标点符号) 语音 编辑 锁定 讨论 上传视频 上传视频 顿号“、”是并列的词或词组之间的停顿&#xff0c;在汉语中主要有两个用途&#xff0c;分隔同类的并列的事&#xff0c;通常是单字、词语或短句&#xff0c;当中的停顿较逗号短。分隔用汉字作为序号的序号和内…

6 岁学编程,9 岁给电脑杂志社撰稿,19 岁收月薪 2 万 的 Offer | 程序人生 2020

作者 | 杨若瑜 责编 | 伍杏玲 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 【CSDN 编者按】在CSDN举办的“原力计划”活动中&#xff0c;编者看到一篇《 老程序员教你如何提高开发效率、成为大神0——从业余到专业》的文章。这位90后程序员6岁为了玩游戏自学at…

linux下哪个输入法最好,[最好]linux下输入法→linux下输入法

万能五笔输入法字根简化版 [最好]linux下输入法→linux下输入法【独创智能字根】 [最好]linux下输入法→linux下输入法还在为打字慢发愁? [最好]linux下输入法→linux下输入法五笔有那么难吗? [最好]linux下输入法→linux下输入法本软件独创智能字根法 [最好]linux下输入法→…

linux(SystemV标准)进程间通信1

目录&#xff1a; 1.前言 2.共享内存 3.认识接口 ------------------------------------------------------------------------------------------------------------------------- 1.前言 我们之前学的什么匿名管道、命名管道通信都是基于文件的通信方式&#xff01;&#xf…

机器自动翻译古文拼音 - 十大宋词 - 江城子·乙卯正月二十日夜记梦 苏轼

【苏轼】江城子乙卯正月二十日夜记梦||纪录片剪辑 江城子乙卯正月二十日夜记梦 宋苏轼 十年生死两茫茫&#xff0c;不思量&#xff0c;自难忘。 千里孤坟&#xff0c;无处话凄凉。 纵使相逢应不识&#xff0c;尘满面&#xff0c;鬓如霜。 夜来幽梦忽还乡&#xff0c;小轩窗&…

Canvas画布基本功能及实现网页签名功能

canvas 简介 <canvas> 是 HTML5 新增的&#xff0c;一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画&#xff0c;甚至可以进行实时视频处理和渲染。和所有 DOM 元素一样&#xff0c;拥有自己…

chatgpt赋能python:Python中符号怎么输入

Python中符号怎么输入 如果你是一位Python程序员&#xff0c;你肯定会经常使用各种符号&#xff0c;比如冒号、逗号、括号、引号等等。但是有些符号在输入的时候可能会有一些困难&#xff0c;尤其是对于初学者而言。那么在Python中符号怎么输入呢&#xff1f;下面我们来详细介…

chatgpt赋能python:Python中的快捷键:提高编程效率的利器

Python中的快捷键&#xff1a;提高编程效率的利器 作为一名有10年Python编程经验的工程师&#xff0c;我深刻体会到快捷键的重要性。在日常编程中&#xff0c;快捷键可以大大提高编程效率&#xff0c;让我们更快地完成工作。本文将介绍Python中一些常用的快捷键&#xff0c;并…