JAVA字符串随笔

**仅为学习笔记

不同编码里,字符和字节的对应关系不同:

ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。

UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。

Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。

符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。

UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。

UTF-32编码中,世界上任何字符的存储都需要4个字节。

equal比较的是内容,==比较的是地址

数组大小是固定的,易于查找。链表易于删除和增加

数组若是删除一个角标上的元素,后面的所有元素向前位移一位。在有时for循环中,对数组操作,会出现元素没有全部遍历处出的问题,原因就是这个

indexOf()等函数为角标位置查询

trim()为删除两端空格,爬虫等需要对返回的url进行此操作。

split()将字符串切割成字符串数组          Arrays.toString()输出的为数组中的元素(Arrays为Connections的工具类)

toCharArray()将字符串变成字节数组; Arrays.toString()输出的为一个个的字符

getBytes() 将字符串变为字节数组

startsWith(),endsWith()

基本类型->>字符串

基本类型数值+"";或者String.valueOf()

字符串-->>基本类型  xxx parseXxx();char没有parse方法

如果是基本类型的包装类,例如Integer,使用非静态方法intValue()转换为int类型的数据

StringBuilder为String容器,使用append()方法将其他类型的数据一个个的添加上,变成字符串数组。

原文地址:https://www.cnblogs.com/GlazedCat/p/6538734.html