博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串和数组使用时该注意的一些地方
阅读量:4567 次
发布时间:2019-06-08

本文共 792 字,大约阅读时间需要 2 分钟。

String 类型的初始化的三种常见手法:

1、使用new 关键字的话,就可以直接在构造函数中传入String类型的参数,例如:String name = new String("Name");

2、也还可以以char[]类型的参数对构造函数的形参赋值,例如:char[] te = {'a','a','b'};String s = new String(ch);

3、也还可以使用byte[]数组 实现String构造函数的初始化,其中byte的类型就是以一个一个字节数据类型的大小范围内赋值。其值在0~255之间变化,其中每两个字节数据类型组成一个汉字,比如-61和-26就组成“面”这个字,当然这是根据具体的中文编码类型来判断一个汉字是占用几个字节。具体请查看GB2312和GBK 以及UTF-8 对中文进行编码的细则

4、还可以对char 类型的数组中从某个元素起开始取值到从这个元素开始去多少个字符;同理对byte类型的数组也同样适合。

例如:char[] te = {'a','a','b'}; String s = new String(ch,0,3);s 的结果值为:aab

但是有一点需注意:结束的值不能超过数组类型的长度;也即 offset+length < 字符数组.length

如果超过了字符数组的长度,这个时候编译不会报错,这是因为在编译阶段,编译器只检查语义和语法上的错误。但运行结果让人出乎意料的:此时会出现StringIndexOutOfBoundsException异常。这一点切记!这也是在开发中通常隐藏的比较深的一类错误,即运行期的错误,也叫逻辑上的错误。这类错误一般是比较难查找的,所以要求我们每位程序员在编代码的时候格外小心,的注意安全呀!

转载于:https://www.cnblogs.com/pbting/p/4858304.html

你可能感兴趣的文章
Sublimetext3安装Emmet插件步骤
查看>>
MySQL配置参数
查看>>
全面理解Java内存模型
查看>>
存储过程
查看>>
生成器
查看>>
将一个数的每一位都取出来的方法!
查看>>
2) 十分钟学会android--建立第一个APP,执行Android程序
查看>>
面试题8:二叉树下的一个节点
查看>>
hash冲突的解决方法
查看>>
Asp.Net webconfig中使用configSections的用法
查看>>
mysql 二进制日志
查看>>
阻止putty变成inactive
查看>>
TP框架代码学习 学习记录 3.2.3
查看>>
doc文档生成带目录的pdf文件方法
查看>>
js数组,在遍历中删除元素(用 for (var i in arr)是无效的 )
查看>>
通过前端上传图片等文件的方法
查看>>
在 OC 中调用 Swift 代码
查看>>
Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
查看>>
安卓|五大逆向软件下载
查看>>
5 OK6410裸机调试(不用Jlink)
查看>>