String类以及如何将字符串转化为数组,将字符和各种数值返回字符串格式,Integer和int 区别,StringBuilder和StringBuffer区别
2018-03-23 09:54
609 查看
String是一个类不是基本数据类型,它初始化的一个变量a(看成对象是错误的)并被赋值一个引用指向对象“Java”,这个a不能指向其他引用
例:String a="Java";①
a="HTML5",② 即②是错误的
String s=new String("abc");创建了几个对象呢?
两个
内部原理是这样的;
在JVM的工作过程中,会创建一片的内存空间专门存入String对象,我们把这片内存空间叫做String池。
先在String池中创建了一个String对象储存“abc”,再通过new 又创建了一个String对象,然后把引用给了s;
String s=new String("XYZ")+new String("XYZ");创建了几个对象呢?
四个
注意那里第二次是在内存创建;
因为当String池中已经存在了"abc"对象,就不会在创建相同的对象了;(这里和上述有矛盾)
String中的 ==符号比较的是 是否是同一个对象,s1和s3都是指“Welcome to Java”,s2这里指向了两个对象(根据上述),所以对象不同;
既然能把数组转化为字符串(在上几张有),那也可以将字符串转化为数组(字符串数组):
char[ ] chars="Java".toCharArray(); //调用方法toCharArray来讲“Java”转化为chars【0】=“J”,chars[1]="a"....
在写几个还能把字符串数组转化为字符串的方法:
String s=new String(new char[ ]{"J","a","v","e"});
String s=new String.valueOf(new char[ ]{"J","a","v","e"});
字符和各种数值返回字符串:
String.valueOf(字符和各种数值), 例String.valueOf(2.04),返回的就是'2','0','4'构成的字符串
1.Integer是一个引用类型,int是一个基本数据类型;
2.Integer和int都能表示一个数;
3.Integer和int不能互通,例如泛型要用Integer而不是int
4.对基本类型来说,对应的内存放的就是基本类型值;但对于引用类型Circle c,Integer i,String s等等来说对应内存放的是这些对象;
1.StringBuilder是速度最快的,但是在多线程中不安全,所以多用于单线程大量数据处理;
2.StringBuffer比StringBuilder速度慢些,但是在多线程中是安全的(修改缓冲区的方法是同步的),所以多用于多线程大量数据处理;
3.String用于少量数据处理,String是final类,不能被继承;
StringBuilder和StringBuffer非常擅长于字符串的增删改,倒置等等
例:String a="Java";①
a="HTML5",② 即②是错误的
String s=new String("abc");创建了几个对象呢?
两个
内部原理是这样的;
在JVM的工作过程中,会创建一片的内存空间专门存入String对象,我们把这片内存空间叫做String池。
先在String池中创建了一个String对象储存“abc”,再通过new 又创建了一个String对象,然后把引用给了s;
String s=new String("XYZ")+new String("XYZ");创建了几个对象呢?
四个
注意那里第二次是在内存创建;
因为当String池中已经存在了"abc"对象,就不会在创建相同的对象了;(这里和上述有矛盾)
String中的 ==符号比较的是 是否是同一个对象,s1和s3都是指“Welcome to Java”,s2这里指向了两个对象(根据上述),所以对象不同;
既然能把数组转化为字符串(在上几张有),那也可以将字符串转化为数组(字符串数组):
char[ ] chars="Java".toCharArray(); //调用方法toCharArray来讲“Java”转化为chars【0】=“J”,chars[1]="a"....
在写几个还能把字符串数组转化为字符串的方法:
String s=new String(new char[ ]{"J","a","v","e"});
String s=new String.valueOf(new char[ ]{"J","a","v","e"});
字符和各种数值返回字符串:
String.valueOf(字符和各种数值), 例String.valueOf(2.04),返回的就是'2','0','4'构成的字符串
1.Integer是一个引用类型,int是一个基本数据类型;
2.Integer和int都能表示一个数;
3.Integer和int不能互通,例如泛型要用Integer而不是int
4.对基本类型来说,对应的内存放的就是基本类型值;但对于引用类型Circle c,Integer i,String s等等来说对应内存放的是这些对象;
1.StringBuilder是速度最快的,但是在多线程中不安全,所以多用于单线程大量数据处理;
2.StringBuffer比StringBuilder速度慢些,但是在多线程中是安全的(修改缓冲区的方法是同步的),所以多用于多线程大量数据处理;
3.String用于少量数据处理,String是final类,不能被继承;
StringBuilder和StringBuffer非常擅长于字符串的增删改,倒置等等
相关文章推荐
- 字符数组、字符串与string类的区别
- 字符串和字符数组的区别以及sizeof和strlen的区别
- 字符串截取以及字符数组和字符指针的区别
- 1.如何避免野指针2.获取字符串的两种方法。以及malloc,calloc,ralloc的使用注意点3.二维三维数组4.数组和函数的区别
- String中空串与null的区别#抽取方法快捷键#字节数组转化成字符串#字符数组转化成字符串
- 函数、数组区别以及函数注意点和回调函数,以及删除字符串中出现次数最少的字符的程序
- js数租,对象, 数组,字符串,函数,变量,int与String 型转化,String 转化为js 中内部代码,编码格式转化,<a>标签的死链接
- 根据服务器端返回的字符数组,展示字符串标签,需要涉及字符串长度处理以及字符串换行,字符串不够一行自动跳到第二行的逻辑
- python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8')
- char字符串数组与string之间的转换,以及sizeof,strlen,length的区别
- C++中如何返回一个数组以及可能会遇到的问题geekband
- JS解析json数据(如何将json字符串转化为数组)
- 字符,字符串,以及动态申请数组
- java 字符串,字符数组,list间的转化
- PHP中如何将字符串转化为整数 (int) intval() printf() 性能测试
- JAVA将 带有空格或特殊字符的字符串转换成int数组的方法
- java 非String Button监听器 以及字符串转化为数字数组
- JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别
- C/C++ 各种字符编码字符串的转换 可用于XML文件的字符转化读写 (收集 GBK - UTF8 - Unicode - ANSI )
- 字符数组和字符串在打印方面的区别。