六、常用类

主要内容: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。

(五)封装类

java总结第四次//常用类的更多相关文章

  1. JAVA基础——Java 中必须了解的常用类

    Java中必须了解的常用类 一.包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不 ...

  2. Java中必须了解的常用类

    1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据 ...

  3. Java中的集合和常用类

    Java中的常用类: ▪ Object类 ▪ Math类 ▪ String类和StringBuffer类(字符串) ▪ 8种基本类型所对应的包装类 ▪ java.util包中的类——Date类 Obj ...

  4. java的eclipse操作和常用类Object的使用

    1.eclipse的快捷键: (1)alt + /   内容辅助. 如:main+alt + / 会出现完整的main方法. syso+alt+ / 会输出. 如编写某个方法时,只需写入方法名 + a ...

  5. Java笔记(四)常用基础类

    常用基础类 一)String String内部用一个字符数组表示字符串: private final char value[]; 注意:Java9对此做了优化,采用byte[],如果字符都是ASCII ...

  6. Java基础(七)常用类

    一.Math类 1.Math类介绍 Math类属于java.lang包下面,里面包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数,该类被final修饰. 常用字段: 1.E 表示自然 ...

  7. Java基础(十一)常用类总结(一)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

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

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

  9. Java SE核心之一:常用类,包装类,其他基本数据类型包装类。

    在Java继承体系中,java.lang.Object类位于顶端(是所有对象的直接或间接父类).如果一个类没有写extends关键字声明其父类,则该类默认继承java.lang.Object类.Obj ...

随机推荐

  1. 分布式服务框架dubbo原理解析 转

    alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair)等.这个框架/工具/产 ...

  2. iOS 的 XMPPFramework 简介

    XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具,大大简化了基于XMPP的通信应用的开 ...

  3. Theano学习笔记:Theano的艰辛安装体验

    http://www.cnblogs.com/hanahimi/p/4127026.html

  4. MySQL 部分函数使用

    1.DATE_ADD 参考博客:MySQL日期时间函数大全 转 例:DATE_ADD(date,INTERVAL expr type) 2.日期转字符串 DATE_FORMAT 参考博客:MYSQL中 ...

  5. ASP.NET HighStock

    参考博客HighCharts/Highstock使用小结,使用汉化及中文帮助文档 参考博客highcharts与highstock实例

  6. Vue.2.0.5-自定义指令

    简介 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令.注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件--然而,有的情况下,你仍然需要对纯 D ...

  7. iOS网络协议 HTTP/TCP/IP浅析

    一.TCP/IP协议       话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...

  8. UIPageControl

    UIPageControl 1.    numberOfPages // 设置有多少页默认为0 // 2) 设置页数 [pageControl setNumberOfPages:kImageCount ...

  9. MagicNotes:自我管理中的破窗效应

    MagicNotes,思绪随风飞扬,偶尔在这里停留. 在<程序员修炼之道——从小工到专家>这本书里,有这么一段描述: 在市区,有些建筑漂亮而整洁,而另一些却是破败不堪的“废弃船只”.为什么 ...

  10. 成员变量NSString类型指针的属性为什么用copy(属性)

    创建一个分类Person设置属性@property(nonatomic,strong) NSString * name; 在- (void)viewDidLoad 中打印测试 name的属性是stro ...