Java 基础 —— Character 与 String
String 类及其内部丰富的成员函数,以及 Java 与之相搭配的工具类,是进行字符串解析的重要工具。
- String 对象,将 String 对象转换为 byte[],使用
str.getBytes()
; - Character:
- Character.MIN_VALUE:’\u0000’
- Character.MAX_VALUE:’\uFFFF’
0. String 对象相等性的比较
String str1 = "abcd"'
String str2 = "abcd";
String str3 = "ab" + "cd";
String str4 = "ab";
str4 += "cd";
其中,str1 == str2 == str3
,而不等于 str4
;
1. 常见成员函数
切分:split()
修建、整理:trim()
- 所谓的修剪、整理,其实就是删除字符串前后的空格(with any leading and trailing whitespace removed.)
- 常和
split()
相搭配,对切分出来的单个字符串删除前后的空格,split("- -")[0].trim()
查询相匹配的位置:indexOf()(第一次出现的)、lastIndexOf()(最后一个出现的)
public int indexOf(String str) {return indexOf(str, 0); } public int indexOf(String str, int fromIndex);
根据起始和终止位置,截取子串(substring)
String substring(int beginIndex, int endIndex);
可用于截断,比如删除一个 URL 信息开头的 “GET /” 部分:
str = str.substring("GET /".length());
以某前缀(prefix)开始,以某后缀(suffix)结束
boolean startsWith(String prefix); boolean endsWith(String suffix);
2. String 与 Char[] 的交互
str.getChars() ⇒ 将字符串中的内容拷贝到 char[] 数组中:
public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin)
String s = "hello"; char[] dst = new char[5];// char[5] { '\000', '\000', '\000', '\000', '\000' } s.getChars(0, 2, dst, 2);// 从 dst 的第二个数据开始,将 s 的前两个元素复制到 dst 数组中;// char[5] { '\000', '\000', 'h', 'e', '\000' }
3. 重要特性
- 不可变: String 对象是不可变的(public final class String),String 类中每一个看起来会修改 String 值的方法,实际上都会首先创建一个全新的 String 对象,以包含修改后的字符串内容;
- 也即对对原字符串的修改不是 inplace 的,<a href=“http://blog.csdn.net/lanchunhui/article/details/70153734”, target="_blank">【编程】常见概念的理解 —— inplace、vanity url、vanilla(code/software)、编译、链接、build、(delegate、proxy)
- String 对象是不可变的,因此可以给一个 String 对象加任意多的别名,因为 String 对象具有只读特性,所以指向它的任何引用都不可能改变它的值。
Java 基础 —— Character 与 String相关推荐
- java基础数据类型与String类型区别
区别:Java内存存放位置不一样,基本数据类型存在栈(stack),String的对象实例存在堆(heap).另外String,不是基本数据类型,判断是否相等,不能使用==,而应该使用equals方法 ...
- JAVA基础5——与String相关的系列(1)
与String相关的系列 String, 是JAVA中常见的一个引用类型,且其具有一定的特殊性. String类型被设置为final型,即不可继承,也就不可修改其中的实现. String可以改变吗 S ...
- Java基础篇:String、StringBuffer、StringBuilder
一.String: String并不是基本数据类型,而是一个被final修饰的不可变对象.通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创建了一个全新的String对象. 字 ...
- Java基础 main 参数String[] args的用法
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
- Java基础之神奇String类(一)
目录 一.初识String类 二.String类常用方法 (1)字符串构造 1.构造方式 2.String源码保存方式 3.注意小贴士 (2)字符串比较 1.四种比较方式 2.实例演示 (3)字符串查 ...
- qstring 字符相同 不相等_我的编程手册 -- Java 基础篇·字符串 String
在程序开发中,我们最常用的就是字符串,我们经常声明或初始化各类字符串. 针对String 类型的字符串,a=null,说明其不指向内存区任何一个字符串,但是a=""不同,其指向内存 ...
- Java基础之字符串String:
String ----------------------------------------------------------------------------------------- 一.S ...
- [Java基础]int和String的相互转换
int和String的相互转换:
- 【JAVA基础篇】String类详解
昨天参加了一场机试,发现自己居然对String类的api不熟了,所以今天来总结一下(基于JDK1.8). 1.父类和实现的接口 没有父类,或者说父类是Object 接口:Serializable.Co ...
最新文章
- 【Python】青少年蓝桥杯_每日一题_9.11_买鸡
- linux shell命令行选项与参数用法详解
- Python豆瓣书籍信息爬虫
- mstsc远程桌面全频或自定义窗口
- 唐宇迪学习笔记9:逻辑回归与梯度下降策略
- [数据库系统]关系代数表达式的优化算法
- 【测试管理】版本定义
- 身高预测_大部分都很准哦
- csu1671 经营小卖部(DP 完全背包 好题)
- python面向对象程序设计董付国ppt_(董付国)Python 学习笔记---Python面向对象程序设计(1)...
- FreeRtos(1)-----任务创建与管理
- 三维视频融合技术.在公共安全领域中的应用
- 祝贺!中国战队EDG夺冠
- 使用 Vue 脚手架
- 剑桥学霸强烈推荐:每天花20分钟看这些视频,英语水平暴增
- redis数据备份与恢复
- (转)VC IMM/IME输入法编程
- 鸿蒙宴文言知识积累,文言文鸿门宴知识点汇总
- SIMPLIS仿真软件4-POP分析详解
- redolog 和 bin log
热门文章
- android gridview滑动监听,Android GridView 滑动条设置一直显示状态(推荐)
- 内核参数 linux dd,Linux dd 命令详解(测磁盘的吞吐量)
- Conditional Expectation Entropy
- 用CommonDialog公共对话框选取多个文件
- 服务器2008r2网络禁止修改,windows-server-2008-r2 – Windows 2008 R2标准服务器 – 如何禁用RC4...
- TestNG安装及配置
- ArrayList、Vector、LinkedList的特点和区别
- SQL执行insert into后返回主键ID
- Android安装后没有完成和打开按钮
- a链接易混淆与form表单简易验证用法详解