Java内置对字符串的支持;
来源:互联网 发布:学校网关闭游戏端口 编辑:程序博客网 时间:2024/06/05 04:15
1.Java内置对字符串的支持;
所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和wstring类实现与C语言兼容和Unicode标准。Java内部通过String类实现对字符串类型的支持。
这意味着:我们可以直接对字符串常量调用和String对象同样的方法:
//可以再"abc"上直接调用String对象的所有方法
int length="abc".length();
以及
String abc=new String("abc");
int length=abc.length();
2.Java中的字符串值是constant(常量的)
这里的意思是字符串类型在创建完成之后,是不能改变其中的值的,从String的成员方法也可以看出没有能改变值的方法接口;并且像"abc",new String("def")中的”abc","def"存放于Java虚拟机中的常量池。
以下的代码中的"abc"存放于常量池中,因此变量a,ab指向的地址均为常量池中同一个"abc"。
public class StringTest {
public static void main(String[] args) {
String a="abc";
String ab="abc";
String abc=new String("abc");
System.out.println(ab==a);
System.out.println(a==abc);
}
}
/*程序输出:
* true
* false
* */
那么动态生成的、可变的字符串又是如何实现的呢?Java中提供StringBuffer和StringBuilder类实现这一需求;Java中字符串连接可以使用“+”操作符; 如:"abc"+"def";这里的内部实现也可以使用StringBuilder类或者StringBuffer类实现;那么StringBuilder和StringBuffer内部又是如何实现呢?是通过字符数组存储字符串。以下是从JDK附带的源码中找到的片段,可以看出StringBuffer内部使用char数组对字符串进行存储,其中的AbstractStringBuilder是StringBuffer的父类:
- Java内置对字符串的支持;
- struts2对ajax的内置支持
- struts2对ajax的内置支持
- android 内置webview 对https的支持
- Java switch 对数字、字符、枚举、字符串类型的支持
- Hibernate3.2(5):MyEclipse对Hibernate的内置支持
- 微信端内置浏览器对canvas的支持有问题
- springMVC入门--4.springMVC内置对JSON的支持
- Java对多线程的支持
- Java对多媒体的支持
- Java对多媒体的支持
- java对管程的支持
- Java对脚本语言的支持
- php对字符串加密解密常用的几个内置函数
- 《Java 编程思想》004 switch对字符串支持的引申思考
- java jdk1.6内置支持的webservice使用示例
- java jdk1.6内置支持的webservice使用示例
- java jdk1.6内置支持的webservice使用示例
- iOS直接用代码转UIImage的2种方法分享
- Cool IT Companies
- 作为参数的数组实际上是指针
- 《实时碰撞检测算法技术》读书笔记(七):分离轴测试
- [HOJ]1452 Tree Recovery(对二叉树的先序、中序、后序的熟悉与掌握)
- Java内置对字符串的支持;
- 【类】项目四。三个长方体
- 时间和时间戳的相互转换方法分享
- java中的类!
- 日志切割清理工具 Log-Cutter
- Varnish 安装搭建配置缓存服务器
- PAT Advanced Level 1076. Forwards on Weibo (30)
- NYOJ891 找点
- 语法文件解释器及编译器代码生成