栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常用类

Object类 System类
void gc():
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
native long currentTimeMillis():   //return localTime 和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数
 String getProperty(String key):  //获取一些属性
String类相关 String类

String是一个final类,代表不可变的字符序列。 字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。
String对象的字符内容是存储在一个字符数组value[]中的。

源码

public final class String implements java.io.Serializable, Comparable, CharSequence {

	private final char value[];

	private int hash; // Default to 0
String对象的几种创建和内存图解
String str = "hello";
//本质上this.value = new char[0];

String s1 = new String(); 
//this.value = original.value;

String s2 = new String(String original); 
//this.value = Arrays.copyOf(value, value.length);

String s3 = new String(char[] a); 
String s4 = new String(char[] a,int startIndex,int count);
  • String str1 = “abc”;与String str2 = new String(“abc”);的区别?

一个复制直接走常量池
一个在堆区创建对象,然后引用常量池变量

String s1 = "javaEE";
String s2 = "javaEE";
String s3 = new String("javaEE");
String s4 = new String("javaEE");
System.out.println(s1 == s2);//true
System.out.println(s1 == s3);//false
System.out.println(s1 == s4);//false
System.out.println(s3 == s4);//false

String和几种对象的转换

字符串 -> 基本数据类型、包装类

基本数据类型、包装类 -> 字符串

字符数组 -> 字符串

字符串 -> 字符数组

StringBufffer

查阅java.lang.StringBuilder的API,StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。原理如下图所示:(默认16字符空间,超过自动扩充)

  • 构造器
StringBuffer():初始容量为16的字符串缓冲区
StringBuffer(int size):构造指定容量的字符串缓冲区
StringBuffer(String str):将内容初始化为指定字符串内容

example

String s = new String("我喜欢学习"); 
StringBuffer buffer = new StringBuffer("我喜欢学习"); 
buffer.append("数学");

  • 常用方法
StringBuffer append(xxx):提供了很多的append()方法,用于进行字符串拼接

StringBuffer delete(int start,int end):删除指定位置的内容

StringBuffer replace(int start, int end, String str):把[start,end)位置替换为str

StringBuffer insert(int offset, xxx):在指定位置插入xxx

StringBuffer reverse() :把当前字符序列逆转
StringBuilder

StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且
提供相关功能的方法也一样

对比String、StringBuffer、StringBuilder

String(JDK1.0):不可变字符序列
StringBuffer(JDK1.0):可变字符序列、效率低、线程安全
StringBuilder(JDK 5.0):可变字符序列、效率高、线程不安全
注意:作为参数传递的话,方法内部String不会改变其值,StringBuffer和StringBuilder会改变其值

日期类 Math类
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014297.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号