String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & StringBuilder 类.这时我们会问,为什么我们String变量赋值不就是改变了吗?其实不是的,赋值后将会生成新的对像来存放新的内容,原先的对象依旧在内存中,但是s不在指向它,那么这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收. 详情解释请点击    包含在一对双引号之间. Strin…
多线程告一段落,開始经常使用对象API的涉及,背也要背下来!.! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不能够被改变 一.特点 public class Main { public static void main(String[] args) { Demo1(); System.out.println("--------------"); Demo2(); } /*演示字符串的第一种定义方式,并明白字符串常量池的特点*/…
我们知道在C++中动态开辟空间时是用字符new和delete的.其中使用new test[N]方式开辟空间时实际上是开辟了(N*sizeof(test)+4)字节的空间.如图示其中保存N的值主要用于析构函数中析构对象的次数delete[] p时先取N(*((int*)p-1))我们参照这种机制在实现String类的时候提供一个计数,将指向new开辟的空间的指针个数保存下来,当计数不小于或不等于0时不进行析构对象,也不释放空间.直到计数为0时释放空间. 实现代码如下 //引用计数方法 int my…
添加前面介绍过的复制构造函数和赋值运算符,使类能够正确管理类对象使用的内存. 知道对象何时被创建和释放. =================================== 修订后的默认构造函数 String::String() { len = 0; str = new char[1];  //这是为了和类析构函数兼容: str[0]=’\0’; } delete[ ]与使用new[ ]初始化的指针和空指针都兼容. 以其他方式初始化的指针,使用delete[]时,结果将是不确定的. C++1…
intern方法 public class Main { public static void main(String[] args) { String str1 = new String("asd"); String str2 = str1.intern();/* 字符串常量池中有,就返回字符串,没有就创建 */ System.out.println(str2); System.out.println( str1 == str2 ); } } 练习1:字符串数组排序 import j…
之前将Java的大部分语法都回顾完了,后面添加一些常见的操作,基础语法就结束了.至于在这里再次提到常用类是由于有一部分体现在使用它的继承类或者接口之类的.这些需要有面向对象编程的基础 Object类 Object类是所有类的基类,只要定义了类,即使没有显式的声明继承自Object类,也会从该类继承.这个类没有什么是需要显式调用的,很多东西都需要重写类的方法来达到相关效果,比如常用的两个方法: String toString() : 将类转化为字符串.一般来说直接打印新定义的类都会打印出对象的地址…
[常用类]   <1>字符串相关类(String.StringBuffer)   <2>基本数据类型包装类   <3>Math类   <4>File类   <5>枚举类   [String类]   <1>java.lang.String类代表不可变的字符序列. <2>String类的常见构造方法:         String(String original)         //创建一个String对象为original…
以下是常用的各两种方法(各类提供了构造方法,静态方法) 一.基本数据类型 转化为 包装类(装箱) 例:int i=10: Integer num=i;//num=10 二.包装类 转化为  基本数据类型 (拆箱) 例:Integer num=10: int i=num;//i=10 三.基本数据类型  转化为 String类 例:int i=10; String str=i+'' '';//  "10" 四.String类  转化为  基本数据类型 例:String str="…
Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if(obj != null) 这样的判断.幸好在JDK1.8中,java为我们提供了 一个Optional类,Optional类能让我们省掉繁琐的非空的判断.下面先说一下Optional中为我们提供的方法. 反面示例: interface IMessage{ void echo(String msg);…
目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(String Pool) 4. String类所用的连接符 5. String类的主要作用(简) 正文 1. String类是什么 1.1 定义 String类表示字符串.Java程序中的所有字符串都是这个String的实例,比如"abc".字符串为常数,它们的值在创建之后不能更改.因为字符…