StringBuilder
可以append primitive type 和 object. For object to work, should override the toString()
method in your custom class
支持insert, replace, delete, reverse
character同 integer 类型转换
string.charAt(i) - '0'
可以将数字char ‘23’ 转化成对应的 integer, 原理是java中characters是用ASCII values表示的,而‘0’是最小的ASCII value,减去‘0’ results in an integer that corresponds to the numeric value of that digit。
String 转 integer
Integer.valueOf(String s)
String s="12";
int s1 = Integer.parseInt(s);
Integer 与 int
前面没有完全区分二者,实际上Integer 表示的是对象,用一个引用指向这个对象,而int是基本数据类型,直接存储数值。
对象间用`=`比较的是地址,`equals`比较的才是对象的值。但因为 i >= -128 并且 i <= 127 的时候,第一次声明会将 i 的值放入缓存中,第二次直接取缓存里面的数据,而不是重新创建一个Ingeter 对象。那么第一个打印结果因为 i = 10 在缓存表示范围内,所以为 true。但都通过 new 关键字来创建的两个对象,是不存在缓存的概念的,所以为false。
Integer i = Integer.valueOf(10);
Integer j = Integer.valueOf(10);
System.out.println(i == j); // true
Integer m = new Integer(10);
Integer n = new Integer(10);
System.out.println(m == n); // false
int和integer(无论new否)比,都为true,因为会把Integer自动拆箱(.intValue())为int再去比较。
浅谈Integer类_实体类interge默认为0_梦梦~~的博客-CSDN博客
Object, primitive type 转 String
String.valueOf()
and toString()
StringBuilder sb = new StringBuilder();
sb.append('23');
return String.valueOf(sb.reverse());
// return sb.reverse().toString();
区别是toString()可以通过
Override自定义
Java八种基本数据类型+三种引用数据类型 详解-CSDN博客
primitive data types
基本类型 | 位数 | 字节 | 默认值 |
---|---|---|---|
int | 32 | 4 | 0 |
short | 16 | 2 | 0 |
long | 64 | 8 | 0L |
byte | 8 | 1 | 0 |
char | 16 | 2 | 'u0000' |
float | 32 | 4 | 0f |
double | 64 | 8 | 0d |
boolean | 1 | false |
引用数据类型(reference data types)
类(class), 接口(interface),数组(array),(枚举类型、注解类型、字符串(String)类型)
数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合 int[] nums;
存储区别
-
基本数据类型:在创建时,在栈内存中划分一定的内存,并将数值存储在该内存中。
-
引用数据类型:在创建时,首先在栈内存中分配一块空间,然后在堆内存中也会分配一块具体的空间用来存储数据的详细信息,即哈希值。然后,栈中的引用指向堆中的对象地址。