学习笔记-基础知识15-常用类

1 篇文章 0 订阅
1 篇文章 0 订阅

常用类
1.String
String表示字符串;
String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁;
常量池:JVM中一块独立的区域存放字符串常量和基本类型常量(public static final)。
String使用private final char value[]来实现字符串的存储,
即String对象创建之后,就不能再修改此对象中存储的字符串内容,因为如此,才说String类型是不可变的.
String对象比较:
单独使用”“引号创建的字符串都是常量,编译期就已经确定存储到常量池中;
使用new String(“”)创建的对象会存储到堆内存中,是运行期新创建的;
使用只包含常量的字符串连接符如”aa” + “bb”创建的也是常量,编译期就能确定,已经确定存储到常量池中;
使用包含变量的字符串连接符如”aa” + s1 创建的对象是运行期才创建的,存储在堆中;

2.String方法
String():初始化一个新的String对象,使其表示一个空字符序列,并不是返回空(不等于null)。
String(StringBuffer buffer):根据StringBuffer对象来创建String对象;
String(StringBuilder builder):根据StringBuilder对象来创建String对象;
char charAt(int index):取字符串中指定位置的字符,index 从0 开始计算。
String concat(String str):连接字符串,等同于“+”;
boolean contentEquals(StringBuffer buffer):若二者包含的字符序列相同时就返回true;
boolean equals(Object obj):将该字符串与指定对象比较,若二者包含的字符序列相等返回true;
boolean equalsIgnoreCase(String anotherString) 将此String与另一个String比较,不考虑大小写;
byte[] getBytes():将该字符串转换成byte数组;
int indexOf(String str):找出str字符串在该字符串中第一次出现的位置;
int indexOf(String str, int fromIndex):返回指定子字符串从指定的索引开始,第一次出现处的索引
int lastIndexOf(String str):返回指定子字符串在此字符串中最后一次出现处的索引;
int length():返回当前字符串长度;
String replace(char oldChar, char newChar):
返回一个新的字符串,它是通过用newChar替换,此字符串中出现的所有oldChar得到的。
String replaceAll(String regex, String replacement):
使用给定的字符串replacement替换此字符串所有的regex字符串;
boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始.
String[] split(String regex): 把字符串按指定的字符串分隔开。
String substring(int beginIndex):
返回一个新的字符串,从beginIndex开始截取,它是此字符串的一个子字符串;
String substring(int beginIndex, int endIndex):
返回一个新字符串,它是此字符串的一个子字符串;[begin,end)
char[] toCharArray():将此字符串转换为一个新的字符数组。
String toLowerCase():将此String中的所有字符都转换为小写;
String toUpperCase():转成大写;
static String valueOf(基本类型obj):把基本类型值转成字符串;
String trim() :忽略字符串前导空白和尾部空白。

3.StringBuffer与StringBuilder
String是不可变类,一旦String对象被创建,包含在对象中的字符序列是不可变的,直到对象被销毁;
StringBuffer与StringBuilder对象则是可变的。
这两个效率相当高:
StringBuffer: 是线程安全的;
StringBuilder: 是线程不安全的,性能高点,推荐使StringBuilder;(jdk1.5 出现)
StringBuffer的字符序列是可变的(通过append等方法操作)
StringBuffer和String之间的转换:
String toString():返回此序列中数据的字符串表示形式。
StringBuffer(String str):以指定的字符串创建StringBuffer对象。
StringBuffer方法:
public StringBuilder():构造一个不带任何字符的StringBuilder对象。
StringBuffer(String str) :构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
StringBuffer append(Object o) :将指定的任意类型对象追加到此StringBuffer对象。
StringBuffer insert(int offset, Object o) :将任意类型参数的字符串表示形式插入此序列中。
StringBuffer delete(int start, int end) :移除此序列的子字符串中的字符。
StringBuffer deleteCharAt(int index): 移除此序列指定位置的char。

4.Math和Random和UUID
Math类:
public final class Math extends Object
以下X 表示double,float,int, long
abs(X x):求绝对值
max(X x1,X x2):求最大值
min(X x1,X x2):求最小值
public static double random():返回带正号的double值,该值大于等于0.0 且小于1.0。
和使用new java.util.Random 一样
Math.PI;
Random类:
负责生成伪随机数;
Random():创建一个新的随机数生成器。
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int 值。
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、
在0(包括)和指定值n(不包括)之间均匀分布的int值。
UUID类:
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证
对在同一时空中的所有机器都是唯一的。
UUID(用来标示文件名等(免得文件上传因为名字可能一样而被覆盖),可以保证全网唯一!)
UUID类:用唯一标识符(UUID)的类。
UUID表示一个128 位的值。
由以下几部分的组合:
当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生
成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,
从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。
标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx (8-4-4-4-12),
其中每个x是0-9或a-f范围内的一个十六进制的数字;
UUID uuid = UUID.randomUUID();
String uid = uuid.toString();

5.Date和Calendar:处理日期,时间;
Date:
Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(long date):分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元
(epoch)”,即1970 年1 月1 日00:00:00 GMT)以来的指定毫秒数。
SimpleDateFormat:java.text.SimpleDateFormat
SimpleDateFormat是一个与语言环境有关的方式来格式化和解析日期的具体类。
它允许进行格式化(日期-> 文本)、解析(文本-> 日期)和规范化。
SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
public final String format(Date date):将一个Date格式化为日期/时间字符串。
public Date parse(String source) throws ParseException:
把字符串source表示的时间按source的格式转成Date对象。

Calendar:
    推荐使用处理日期和时间的类Calendar;
    是抽象类,不能实例化,
    通过static Calendar getInstance() 获得一个Calendar对象。
    int get(int field):返回指定日历字段值

静态常量:
    YEAR 表示年的字段数字。
    MONTH 表示月份字段数字,月份范围是[0,11]。
    DATE 表示一个月中的某天。
    DAY_OF_MONTH 表示一个月中的某天。
    DAY_OF_WEEK 表示一个星期中的某天。
    HOUR_OF_DAY / HOUR 表示第几小时
    MINUTE 表示第几分钟
    SECOND 表示第几秒
Date getTime():返回一个表示此Calendar时间值的Date对象。
void set(int year, int month, int date, int hour, int minute, int second):
    设置字段YEAR 、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和SECOND 的值。
abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
    若amount 为负数,则减去一天,
    若amount 为正数,则加上一天

6.System
System类包含一些与系统相关的类字段和方法。
它不能被实例化,类中所有属性和方法都是static,可直接被System调用。
常用方法:(前面都加static)
void exit(int status):终止虚拟机的运行.
对于发生了异常情况而想终止虚拟机的运行,传递一个非0 数值,
对于正常情况下退出系统传递0值;
该方法实际调用的是Runtime.getRuntime().exit(int status);
void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):数组拷贝
long currentTimeMillis() 返回以毫秒为单位的当前时间。
String getenv(String name) 获得指定的环境变量;
void gc():运行垃圾回收器。实际上调用了Runtime 中的gc()方法;
Runtime.getRuntime().exec(“notepad “);
Properties getProperties() 取得当前的系统属性。
String getProperty(String key) 取得指定键指示的系统属性。
String getProperty(String key, String def):获取用指定键描述的系统属性,def表示默认信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值