六、常用类

主要内容:Object类、String类、Date类、封装类

(一)Object类

1.Object类是所有Java类的根父类

2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类

public class Person {

...

}

等价于:

public class Person extends Object {

...

}

(二)==操作符与equals方法

==操作符:

引用类型比较引用(是否指向同一个对象);

Person p1=new Person();   Person p2=new Person();

if (p1==p2){…}

基本类型比较值;int a=5; if(a==6){…}

用"=="进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错;

equals方法:

是Object类的方法,由于所有类都继承Object类,也就继承了equals()方法。

只能比较引用类型,

在Object类的定义中,其作用与“==”相同,比较是否指向同一个对象。格式:obj1.equals(obj2)

注意:对类File、String、Date、封装类(Wrapper Class)及很多重写了equals()方法的类来说,是比较类型及内容而不考虑引用是否指向同一个对象。

(三)toString 方法

1.toString()方法在Object类中定义,其返回值是String类型,内容为类名以及该对象的引用地址。

2.在进行String与其它类型数据的连接操作时,自动调用toString()方法。

例如:

Date now=new Date();

System.out.println(“now=”+now);

相当于

System.out.println(“now=”+now.toString());

3.可以根据需要在用户自定义类型中重写toString()方法

比如String 类就重写了toString()方法,返回字符串的值。

s1=“hello”;

System.out.println(s1);

相当于

System.out.println(s1.toString());

4.基本类型数据转换为String类型时,调用了对应封装类的 toString()方法例如:

int a=10;

System.out.println(“a=”+a);

5.String的常用方法

public boolean startsWith(String s)

public boolean endsWith(String s) :判断当前字符串对象的前缀(后缀)是否是参数s指定的字符串

public int compareTo(String s):按字典序与参数s指定的字符串比较大小

public int compareToIgnoreCase(String s)

public boolean contains(String s):判断当前字符串对象是否含有参数指定的字符串 s

public int indexOf (String s):从头开始检索字符串 s,并返回首次出现 s 的位置

indexOf(String s ,int startpoint)

lastIndexOf (String s)

public String substring(int startpoint):获得一个当前字符串的子串

substring(int start ,int end)

public String trim(): 得到一个去掉前后空格后的字符串对象

字符串与字符数组

String(char[]):用字符数组中的全部字符创建字符串对象

String(char[],int offset,int length): 用字符数组中的部分字符创建字符串对象

public char[] toCharArray():将字符串中的全部字符存放在一个字符数组中的方法

字符串与字节数组

String(byte[]):用指定的字节数组构造一个字符串对象。

String(byte[],int offset,int length) :用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。

public byte[] getBytes() :使用平台默认的字符编码,将当前字符串转化为一个字节数组。

public byte[] getBytes(String charsetName) :使用参数指定字符编码,将当前字符串转化为一个字节数组。

注意:String s="a"; //创建了一个字符串

s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。

6.StringBuffer类

String:不可变的字符序列

StringBuffer:可变的字符序列

String s = new String("Hello");

StringBuffer buffer = new StringBuffer("Hello");

buffer.append("World");

StringBuffer类有三个构造方法:

StringBuffer()

StringBuffer(int size)

StringBuffer(String s)

StringBuffer:可变字符序列、线程安全、效率低

StringBuilder:可变字符序列、线程不安全、效率高

(四)Date&DateFormat类

Date类在java.util包中。使用Date类的无参构造方法创建的对象可以获取本地当前时间。

SimpleDateFormat可用来实现日期的格式化。

public SimpleDateFormat(String pattern):使用参数pattern指定的格式创建一个对象。

public String format(Date date):按照构造方法中指定的pattern格式化时间对象date。

(五)封装类

转载于:https://www.cnblogs.com/zjfjava/p/5820241.html

java总结第四次//常用类相关推荐

  1. 浅谈Java锁,与JUC的常用类,集合安全类,常用辅助类,读写锁,阻塞队列,线程池,ForkJoin,volatile,单例模式不安全,CAS,各种锁

    浅谈JUC的常用类 JUC就是java.util.concurrent-包下的类 回顾多线程 Java默认有几个线程? 2 个 mian.GC Java 真的可以开启线程吗? 开不了,点击源码得知:本 ...

  2. 【JDK源码】java.util.concurrent.atomic包常用类详解

    java.util.concurrent.atomic原子操作类包里面提供了一组原子变量类.其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方 ...

  3. java 字符串 面试题_Java常用类String的面试题汇总(java面试题)

    1.比较两个字符串时使用"=="还是equals()方法? 当然是equals方法."=="测试的是两个对象的引用是否相同,而equals()比较的是两个字符串 ...

  4. 【java学习之路】(java SE篇)007.常用类

    常用类 基本数据类型包装类 /*包装类和基本数据类型包装类是将基本数据类型封装成一个类,包含属性和方法使用:在使用过程中会涉及到自动装箱和自动拆箱装箱:将基本数据类型转换成包装类 intValue() ...

  5. Java部分集合以及部分常用类

    学习内容: 集合 1.1 Collection接口 1.2 List接口 1.3 Set接口 1.4 Map接口 常用类 2.1 Object 2.2 String 2.3 StringBuilder ...

  6. java学习之路7——常用类

    一.Object类 超类.基类.左右类的直接或者间接父类,位于继承树的最顶层. 任何类,如果没有写extends显示继承某个类,默认都直接继承Object类.否则为间接继承. Object类中所定义的 ...

  7. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类

    开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...

  8. 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照

    本文主要介绍String类.StringBuffer类.StringBuilder类的差别  : 一.概述 (一)String 字符串常量.可是它具有不可变性,就是一旦创建,对它进行的不论什么改动操作 ...

  9. java中object类型_Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

最新文章

  1. 从微信红包的春节活动运营方案中,必读的运营策略
  2. 一个人的成功取决于晚上的8点至10点--经典语录必读
  3. 关于直播视频平台与监控视频平台技术架构方案
  4. TZOJ 2099 Sightseeing tour(网络流判混合图欧拉回路)
  5. python range倒序_Python算法学习之堆和堆排序
  6. cf B. Internet Address
  7. LTT (Linux Trace Toolkit) 简介
  8. linux监测服务日志脚本,LINUX下的一个性能监测脚本
  9. 编译原理实验五:编译器自动生成工具
  10. 锯齿波调制的FMCW雷达中频回波信号的公式推导
  11. DS1302时钟芯片读写操作(基于普中A2开发板)
  12. Delta RPMs disabled because /usr/bin/applydeltarpm not installed解决办法
  13. 业务单据堆积如山?如何提升会计做账效率?
  14. 诱惑视频木马样本态势
  15. latex 论文致谢
  16. 设计模式-行为型-访问者模式
  17. java中math的方法_Java中Math类常用方法代码详解
  18. 参考文献的数字,字母
  19. 开源php商城系统选择
  20. 2008年研究生入学考试西医综合真题及其答案

热门文章

  1. 在私企里,男工人能工作到退休年龄60岁吗?
  2. “云手机”是否会成为未来的主流?
  3. 什么样的人不适合互联网创业
  4. go使用cli实现命令行多指令操作
  5. ubuntu挂载共享文件
  6. 具有块表的地址变换机构
  7. Svn、Git、GitHub、GitLab、码云 区别
  8. MySql Workbench常用快捷键修改MySqlWorkBench快捷键
  9. nlp中bpe_缓冲池扩展(BPE)–内存中OLTP:内存挑战
  10. sql server 群集_SQL Server 2014 –安装群集实例–分步(1/3)