Object类和常用的API

第一章Object

1.1 概述

1),Object 类是Java语言所有“引用类型”的父类,括我们自定义的类、类库中的类,数组,集合,字符串。

2),所有的的引用类型都从Object类继承了一些方法:

如,1).toString()  2).equals()方法

1.2 toString方法

1),(由于Object类中toString方法返回的结果是内存地址,因此)需要重写toString方法。重写后的toString()方法,打印所有的属性值

2) 1),在我们直接使用输出语句输出对象名(stu)的时候,其实通过该对象调用了其toString()方法。(输出结果为:Person{name='张三', age=19}

println(Object obj)隐式的内部调用stu.toString()方法。

public class Demo {
    public static void main(String[] args) {
        Student stu = new Student("张三", 19);
        System.out.println(stu);
    }
}

     2)而我们常用的是,println(String s)

1.3 equals方法

1)(如果没有覆盖重写equals方法,那么Object类中默认进行 == 运算符的对象地址比较,只要不是同一个对象,结果必然为false。)需要重写equals方法,比较“两个对象”的所有属性值是否完全相同。

2)重写equals()方法时,快捷键:generate>equals() and hashCode()>next,next.   自动生成。

1.4 Objects

1)Objects类是Object类的子类,是一个工具类,由一些静态的实用方法组成。

2)其中一个方法:equals(Object o1,Object o2) 此方法可以比较两个对象“是否完全相同”。(需要重写equals方法,如上

 注意:此方法也是基于我们对象的equals()方法进行判断的。对于“空引用”,Objectsequals()方法更安全。

第一章 日期时间类

2.1 Date

1).java.util.Date():代表了一个特定的时间,精度:毫秒(1000毫秒=1秒);

2).构造方法:

1).Date():使用当前系统时间构造一个Date对象。

2).Date(long m):使用一个“毫秒值”构造一个Date对象。(表示自从标准基准时间,即19701100:00:00 GMT)以来的指定毫秒数。)

3).成员方法:

1).public long getTime():获取此Date对象代表的毫秒值;

2).public void setTime(long m):设置此Date对象的毫秒值;此Date对象所表示的日期会被更改;

 

2.2 DateFormat

1).java.text.DateFormat(抽象类):可以对Date进行“格式化显示”的一个工具类。

 注:此类是一个“抽象类”,不能直接创建对象,可以使用它的子类:

2).java.text.SimpleDateFormat(子类):

3).构造方法:

     1).SimpleDateFormat(String pattern)

       DateFormat format = new SimpleDateFormat("yyyyMMdd HH:mm:ss")

4).常用方法:

1).public String format(Date date):将一个date对象按照指定的格式转换为一个string.

2).public Date parse(String str):将一个字符串的日期转换为Date对象。

2.3 Calendar

1)概念:Calendar抽象类Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象GregorianCalendar,格式:Calendar c = Calendar.getInstance();

2).常用方法:

1).public int get(int field):获取某个字段的值;

2).public void set(int field,int value):设置某个字段的值;

3).public void add(int field,int value):为某个字段增加指定的值;

 4Calendar中的getTime方法并不是获取毫秒时刻,而是拿到对应的Date对象。

3)注意:月从0开始,可以+1使用;周中的天(周几,周日为1,可以-1使用)

第二章 System类(arraycopycurrentTimeMillis

1).java.lang.System():包含了一些实用的静态方法:

2).常用方法:

1).public static void arraycopy(Object src, //原数组

                           int srcPos,//原数组的起始位置

                           Object dest, //目标数组

                           int destPos, //目标数组的索引位置

                           int length)  //复制的数量

2).public static long currentTimeMillis():获取当前系统时间的毫秒值;

常用来计算代码的执行时间。

相当于:Date date = new Date();

long m = date.getTime();

3) .public static void exit (int status):结束JVM。也就是结束程序。

 

第三章 StringBuilder

4.1 StringBuilder概述

(由于String的不可变性,导致做“字符串连接”时,效率低下。)所以,java.lang.StringBuilder():专门做“字符串连接”。

4.2 构造方法

StringBuilder():构造一个有16个空位置的StringBuilder对象。

4.3 常用方法

1).public StringBuilder append(各种类型):StringBuilder中添加数据;

  对象名.append("Hello")..append(10).append(3.14);//方法链
可以添加任意类型(可无双引号)

2).public StringBuilder reverse():StringBuilder中的数据反转;

 

第四章 包装类

5.1 概念

1).基本类型 包装类

byte Byte

short Short

int Integer

long Long

float Float

double Double

char Character

boolean Boolean

2).每个包装类中都包含很多对此种类型数据进行操作的一些方法:

例如:

将某种类型转换为字符串;

将字符串转换为某种类型;

5.2 常见应用

1).将某种类型转换为字符串:

int a = 24;

String s = Integer.toString(a);

//其它方法:

int a = 24;

String s = a + "";

2).将字符串转换为某种类型:

String a = "24";

int age = Integer.parseInt(a);

=====================================================

任何包装类(Character)都有parseXxx(String s):可以将字符串转换为自己的那种类型:

byte Byte parseByte(String s)

short Short parseShort(String s)

int    Integer·parseInt(String s)

long Long parseLong(String s)

float Float parseFloat(String s)

double Double parseDouble(String s)

char Character .......

boolean    Boolean     parseBoolean(String s)

 

5.3 装箱和拆箱

1).装箱:将"基本类型"赋值给"包装类型";

2).拆箱:将"包装类型"赋值给"基本类型":

3).好处:将"包装类型""基本类型"可以等同看待,操作起来比较方便。

 

 

注意:

1,字符串地址比较

(1)

String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1 == s2);      //false
System.out.println(s1.equals(s2));      //true

(2)

String s1 = "abc";
       String s2 = "abc";
System.out.println(s1 == s2);      //true
System.out.println(s1.equals(s2)); //true

(3)

String s1 = "a" + "b" + "c";
       String s2 = "abc";
System.out.println(s1 == s2);      //true
System.out.println(s1.equals(s2));  //true

(4)

String s1 = "ab";
      String s2 = "abc";
      String s3 = s1 + "c";
System.out.println(s3 == s2);      //false
       System.out.println(s3.equals(s2));    //true

注意:直接赋值时,字符串在常量池new一个String字符串时,字符串在里。

转载于:https://www.cnblogs.com/hbwyh-MyWorld/p/9767955.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端能力划分

前端学习学的是什么,在不同的阶段我思考这个问题。 最近的结论是:前端学习要学的是前端的三大能力。工程能力,架构能力,开发能力。 工程能力 工程能力的范畴我认为涵盖了项目模板的自动化生成、项目的自动化编译和构建。 当然传统…

英语学习网址

英文写作网 ( www.4ewriting.com )提供英文写作的各种相关技巧,主要内容包括写作语法文法、应用写作、考试作文、写作范文、背景文化 佳作欣赏、原创发表、英文blog、英语笔友、名师指导、写作论坛等。 1. 英语学习:英语学习频道(…

Anaconda+vscode+pytorch环境搭建

1、安装Anaconda Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。在官网上下载https://www.anaconda.com/distribution/,因为服务器在国外会很慢,建议从清华镜像https://mirrors.tuna.tsinghua.ed…

git learn

$ git config --global user.name "Your Name" $ git config --global user.email "emailexample.com"因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人…

C#.NET 中的类型转换

C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值…

AngularJS的学习--$on、$emit和$broadcast的使用

来源:http://www.cnblogs.com/CraryPrimitiveMan/p/3679552.html AngularJS中的作用域有一个非常有层次和嵌套分明的结构。其中它们都有一个主要的$rootScope(也就说对应的Angular应用或者ng-app),然后其他所有的作用域部分都是继承自这个$rootScope的&a…

17、【 商品管理模块开发】——后台商品图片的springmvc和富文本上传以及ftp文件服务器的开发...

1、FTP文件服务器的搭建: 软件下载:ftpserver; image.png浏览器访问:ftp://127.0.0.1/image.png点击任意一个文件,就可以看到我们图片啦,前提是前面指定的目录里面有图片文件~ image.png2、接口编写&#x…

我们常说……

从过完元旦到现在,乖乖在公司办公的时间很少,好多时候都是在外地,或者是在路上、车上。有n多次,乖乖一天至少坐6个小时的车,回到家里都是带着一身的疲惫,虽然他并不表现出来,但是因为长时间坐车…

那些油管上高质量的学习编程的频道 之一

国内确实有很多不错的学习编程的网站或者个人博客,但是对于初学者,往往更希望获得那种引导性的教学:即一步一步的教你跟着操作的教学。这种教学最好的方式当然就是视频了。毕竟在Apple Podcast上超火爆的斯坦福教授iOS开发的课程也是这种形式…

SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法

我的操作系统为Windows 2003 Server , 文件系统NTFS, 在SQL Server 2005 Express 上附加(Attach)从另外一台电脑Copy过来的数据库后,数据库为“只读”。如下图: 解决办法: 打开 SQL Server Configuration Manager, 打开SQL Server SQLEXPRESS…

[导入]blog年终小结

1. 2006-11-30 注册了本域名thws.cn,喜欢的thw.com被注册了,只好退而就其次了;2. 12-20在alexa上登陆站点,综合排名从起初490多万上升到现在的590327,下期566,880;3. 2007-1-11适逢google PR更新,PR值从0变…

Maven学习笔记(2) --mvn archetype:create 说明

前面一篇相对比较简单。 看完前面的内容我们会来到实战部分,也就是创建一个简单的项目 1 mvn archetype:create -DgroupIdorg.sonatype.mavenbook.ch03 \ 2 -DartifactIdsimple \ 3 -DpackageNameorg.sonatype.mavenbook 于是我们得到了步入Maven领域的第一份打击 真…

UI设计:C4D作品案例分享

中文名4D电影,外文名CINEMA 4D,研发公司为德国Maxon Computer,特点为极高的运算速度和强大的渲染插件,使用在电影《毁灭战士》、《阿凡达》中,获得贸易展中最佳产品’的称号,前身为FastRay。CINEMA 4D拥有快…

又是一个人的情人节

又是一个人的情人节 上午送完弟弟返乡的车,回家的心情也越来越迫切,很想立刻回到家里,和老爸老妈唠叨唠叨,和一年未见的堂兄弟一起喝喝酒,玩耍玩耍,那种心情真是没有办法形容,在我个人看来&…

C# Global.asax.cs 定时任务

定时执行更新Redis缓存操作 protected void Application_Start(object sender, EventArgs e) {Timer timer new Timer();timer.Enabled true;timer.Interval 3600000; //执行间隔时间,单位为毫秒; 这里实际间隔为1小时 timer.Start();timer.Elapsed new System.Timers.Ela…

给div拼接html 拼接字符串

简单描述:拼接html 拼接字符串,说实话,拼接这种东西我自己弄,得花费很多时间,主要是转义字符,单引号,双引号这种小细节调整起来比较麻烦,一旦疏忽多了少了一个符号,页面就…

P2587 [ZJOI2008]泡泡堂 神仙贪心

思路:贪心 提交:1次(看了题解$QwQ$) 题解: 若我方最弱可以干掉对方最弱,则干; 否则若我方最强可以干掉对方最强,则干; 否则若我方最弱与对方最强平手,则平&am…

LifeCycle源码解读

对于LifeCycle的简单使用可以看上一篇文章:LiveDataViewModelRepository搭建MVVM 这篇文章主要是为了阅读源码,尽量深入阅读,能力还是一般,见谅: LifeCycle的作用 解决onCreate等生命周期方法,由于各种原因…

Microsoft SQL Server 2005 Service Pack 2 已经可以下载

下载地址为http://www.microsoft.com/downloads/details.aspx?FamilyIDd07219b2-1e23-49c8-8f0c-63fa18f26d3a&DisplayLangzh-cn嘿嘿,这么快就SP2了 转载于:https://www.cnblogs.com/lazerjulysky/archive/2007/03/04/663279.html

单点登录(sso)入门

单点登录的英文名叫做Single Sign On,简称SSO。 在以前,一般我们就单系统,所有的功能都在同一个系统上。 后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。 比如阿里系的淘宝和天猫,…