String上的操作及数组和字符串是最基本的数据结构

简介: String对象是不可变的。几乎大部分基本数据类型都可以存储在varchar数据库字段当中,包括下单价格、数据字典、图片url、json形式数组、函数、方法等等。
  • String对象是不可变的。
  • 几乎大部分基本数据类型都可以存储在varchar数据库字段当中,包括下单价格、数据字典、图片url、json形式数组、函数、方法等等。
  • String 也是实体类常用的修饰数据类型,除了id建议使用Long,事实上最好与数据库保持一致。

String常用的方法

  • length 个数
  • equals() 比较两个String内容是否相同
  • equalsIgnoreCase() 忽略大小写,比较
  • replace() 返回替换字符后的新String对象。如果没有替换发生,则返回原始对象。
  • toLowerCase() toUpperCase() 将字符的大小改变后,返回一个新的String对象。如果没有改变发生,则返回原始的String对象
  • trim() 去除空白
  • valueOf() 其他类性与String转换
方法 参数,重载版本 应用
构造器 重载版本:默认版本,String,StringBuilder,StringBuffer,char数组,byte数组 创建String对象
length()

String中字符的个数

chatAt() Int索引

取得String中该索引位置上的char

getChars(),getBytes()  

要复制部分的起点和终点的索引,复制的目标数组,目标数组的起始索引

复制char或byte到一个目标数组中

toCharArray()

生成一个char[],包含String 的所有字符

equals(),equalsIgnoreCase() 与之进行比较的String

比较两个String的内容是否相同

compareTo() 与之进行比较的String

按词典顺序比较String的内容,比较结果为负数、零或正数。注意,大小写并不等价

contains() 要搜索的CharSequence

如果该String对象包含参数的内容,则返回true

contentEquals 与之进行比较的CharSequence或StringBuffer

如果该String与参数的内容完全一致,则返回true

equalsIgnoreCase()                

与之进行比较的String

忽略大小写,如果两个String的内容相同,则返回true

regionMatcher()

该String的索引偏移量,另一个String及其索引偏移量,要比较的长度。重载版本增加了“忽略大小写”功能

返回boolean结果,以表明所比较区域是否相等

startsWith()

可能的起始String,重载版本在参数中增加了偏移量 返回boolean结果,以表明该String是否以此参数起始
endsWith() 该String可能的后缀String

返回boolean结果,以表明此参数是否该字符串的后缀

indexOf(),lastIndexOf() 重载版本包括:char,char与起始索引,String,String与起始索引

如果该String并不包含此参数,就返回-1;否则返回此参数在String中的起始索引。lastIndexOf()是从后向前搜索

substring(subSequence()) 重载版本:起始索引;起始索引+终点坐标

返回一个新的String,以包含参数指定的子字符串

concat() 要连接的String

返回一个新的String对象,内容为原始String连接上参数String

replace() 要替换掉的字符,用来进行替换的新字符。也可以用一个charSequence来替换另一个CharSequence

返回替换字符后的新String对象。如果没有替换发生,则返回原始的String对象

toLowerCase()toUpperCase()                                          

将字符的大小写改变后,返回一个新的String对象。如果没有改变发生,则返回原始的String对象

trim()

将String两端的空白字符删除后,返回一个新的String对象。如果没有改变发生,则返回原始的String对象

valueOf()

重载版本:Object;char[],char[],偏移量,与字符个数;boolean;char;int;long;float;double

返回一个表示参数内容的String
intern()

为每个唯一的字符序列生成一个且仅生成一个String引用

二、数组和字符串是最基本的数据结构

数组一般写死大小,所以空间效率不高

动态数组是用时间换空间,性能有负面影响

数组分一维和二维

实际上字符串用的多些

字符串从后向前

https://weiweiblog.cn/replacespace/

两数组合并从后向前

https://blog.csdn.net/u012991043/article/details/80872123


相关文章
|
14天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
33 5
|
21天前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
43 4
|
26天前
|
索引 Python
String(字符串)
String(字符串)。
27 3
|
29天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
46 6
|
2月前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
40 1
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
2月前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
46 4
|
2月前
|
canal 安全 索引
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
38 5
|
2月前
|
存储 算法 定位技术
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
这篇文章主要介绍了稀疏数组和队列的概念、应用实例以及如何使用数组模拟队列和环形队列的实现方法。
25 0
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
|
1月前
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
142 9
|
26天前
|
存储 算法
非递归实现后序遍历时,如何避免栈溢出?
后序遍历的递归实现和非递归实现各有优缺点,在实际应用中需要根据具体的问题需求、二叉树的特点以及性能和空间的限制等因素来选择合适的实现方式。
24 1