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

【Java语言】String类

       在C语言中字符串用字符可以表示,可在Java中有单独的类来表示字符串(就是String),现在我来介绍介绍String类。

字符串构造

一般字符串都是直接赋值构造的,像这样:

还可以这样构造:

图更能直观的看明白这个字符串是如何构造的

String的比较  

  • ==是否引用同一个对象:引用类型==比较的是引用中的地址;
  • boolean equals(Object o):字符比较,这个比较的是深层;
  • int compareTo(String s):按照字符大小比较(前串大返回大于零的整数;前串小返回小于零的整数;相等返回零)【大小写不一样】; 
  • int compareToIgnoreCase(String str):与前一个相同就是【忽略大小写,大小写一样】;

String的查找

char charAt(int index):返回字符串中下标(从0开始)为index的字符,如果index为负数或者越界,抛出 IndexOutOfBoundsException异常;

—————下面的都是返回位置下标—————— 

int indexOf(int ch):找到该ASCII对应的字符就返回其位置下标;

int indexOf(int ch,int fromIndex):在字符串中fromIndex位置开始往后找ch第一次出现的位置;

int indexOf(String str):在字符串中找第一次出现str字符串的位置;

int indexOf(String str, int fromIndex): 在字符串中fromIndex位置开始往后找str第一次出现的位置;

int lastIndexOf(int ch):从后往前找第一次出现的字符ch并返回其下标; 

int lastIndexOf(int ch, int fromIndex) : 在字符串中fromIndex位置开始往前找ch第一次出现的位置;

int lastIndexOf(String str):从后往前找第一次出现的字符串str并返回其下标;  

int lastIndexOf(String str, int fromIndex)  : 在字符串中fromIndex位置开始往前找str第一次出现的位置; 

以上的方法都是查找,且都差不多 (主要就是两个)

字符串转化

数值和字符串转换
  • 数字转字符串(用String类中valueOf(数值)方法转字符串)
  • 字符串转数值(用包装类) 

大小写转换
  • 小写转大写 (用String类中toUpperCase() )

  • 大写转小写 (用String类中toLowerCase() )

字符串转数组
  • 字符串转数组(用String类中toCharArray() )
  • 数组转字符串(直接用数组构造字符串,文章开始已经陈述不再叙述)

格式化

字符串替换 

就是用一个新的字符串替换以及存在的字符串

String replaceAll(String regex, String replacement):替换字符串中所有的存在regex的字符串;

String replaceFirst(String regex, String replacement) :只替换第一个regex,后面再出现regex也不替换;

字符串拆分

将字符串按照指定分隔符拆分成多个字符串。

String[] split(String regex):将字符串中所有存在regex拆分开来;

String[] split(String regex, int limit) :将字符串中按顺序分割成limit个字符串; 

字符串截取

String substring(int beginIndex):截取从beginIndex位置到字符串最后;

String substring(int beginIndex, int endIndex):截取从beginIndex位置endIndex;

字符串去前后空格 

String trim():去掉字符串前后的空格但保留中间的;

字符串修改 

尽量避免直接对String类型对象进行修改,因为String类是不能修改的,所有的修改都会创建新对象,效率 非常低下。可以看待在对String类进行修改时,效率是非常慢的,因此:尽量避免对String的直接需要,如果要修改建议尽量 使用StringBuffer或者StringBuilder。

使用这些方法都尽量直接输出,改变的都是放在新创建的字符串中。

http://www.lryc.cn/news/484431.html

相关文章:

  • 【go从零单排】Directories、Temporary Files and Directories目录和临时目录、临时文件
  • Diff 算法的误判
  • odoo 17 后端路由接口认证自定义
  • 租赁回收系统小程序
  • SQL 注入详解:原理、危害与防范措施
  • 如何用Java爬虫“采集”商品订单详情的编程旅程
  • 《FreeRTOS任务基础知识篇》
  • 前端面试笔试(二)
  • 基于Python 和 pyecharts 制作招聘数据可视化分析大屏
  • 探索光耦:晶体管光耦——智能家居的隐形桥梁,让未来生活更智能
  • 三、模板与配置(上)
  • 基于SpringBoot和Vue的公司文档管理系统设计与开发(源码+定制+开发)
  • Java21 Switch最全使用说明
  • 普通电脑上安装属于自己的Llama 3 大模型和对话客户端
  • 微信小程序原生 canvas画布截取视频帧保存为图片并进行裁剪
  • 社交网络图中结点的“重要性”计算
  • 前端(1)——快速入门HTML
  • gitlab角色、权限
  • Python办公——批量eml文件提取附件
  • Spring Boot 中 Druid 连接池与多数据源切换的方法
  • JavaScrip中私有方法的创建
  • .Net Core根据文件名称自动注入服务
  • APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中
  • 第 3 章 -GO语言 基本语法
  • 【qt】控件
  • 入侵检测算法平台部署LiteAIServer视频智能分析平台行人入侵检测算法:科技守护安全的新篇章
  • 【AiPPT-注册/登录安全分析报告-无验证方式导致安全隐患】
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • STM32中断系统
  • window的Anaconda Powershell Prompt 里使用linux 命令