Java.lang包源码学习

Java.lang包接口摘要

Iterable 接口

参考链接
iterable 的主要作用是实现for each方法,遍历集合的工作依然是iterator来做

 default void forEach(Consumer<? super T> action) {
   
        Objects.requireNonNull(action);
        for (T t : this) {
   
            action.accept(t);
        }
    }
    //遍历例子
    list.forEach(s->{
   
    	System.out.println(s)
    })

Readable接口

参考链接
Readable接口就是为了Scanner类专门创建的一个接口,使得Scanner的入口参数不必限于某个类。实现Readable接口要只需是实现public int read(CharBuffer cb)方法。当方法返回-1时候Scanner类停止读取。

Runnable 接口

参考链接
我们实现多线程,有两种方式, 一种是继承Thread类,一种是实现Runnable接口,但是启动线程必须依赖thread的start方法。
有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点:
首先,java只能单继承,因此如果是采用继承Thread的方法,那么在以后进行代码重构的时候可能会遇到问题,因为你无法继承别的类了。
其次,如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。参考链接

Java.lang 包下类摘要

在这里插入图片描述

Integer类

Integer是int的包装类,int 常用于局部变量和参数传递的一些简单的数据存储和传递,Integer是包装类,在-128-127之间时Integer和int是一致的,在这个范围之外Integer就会自动创建对象来进行操作了,Integer 提供了非常多的方法来处理int型数据参考链接
常用方法参考链接

  • int compareTo(Integer anotherInteger) //在数字上比较两个 Integer 对象。
  • boolean equals(Object obj) //比较此对象与指定对象。
  • double doubleValue() //以 double 类型返回该 Integer 的值。
  • float floatValue() //以 float 类型返回该 Integer 的值。
  • int intValue() //以 int 类型返回该 Integer 的值。
  • long longValue() //以 long 类型返回该 Integer 的值。
  • int parseInt(String s) //将字符串转换成int
  • String toBinaryString(int i) //以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
  • String toHexString(int i) //以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
  • String toOctalString(int i) //以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
  • String toString() //返回一个表示该Integer值的String对象。
  • Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
  • Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。
  • Integer valueOf(String s, int radix) 返回一个 Integer 对象

装箱和拆箱

  • 基本数据类型转换为包装类的过程称为装箱
  • 包装类变为基本数据类型的过程称为拆箱
public class Demo {
   
    public static void main(String[] args) {
   
        int m = 500;
        Integer obj = m;  // 自动装箱
        int n = obj;  // 自动拆箱
        System.out.println("n = " + n);
      
        Integer obj1 = 500;
        System.out.println("obj等价于obj1返回结果为" + obj.equals(obj1));
    }
}

String 类

String类用于处理字符串的一切问题
特征

  • String类是final的,不可被继承;
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
   
  • String类本质是字符型数组char[ ],并且值不可改变;
private final char value[];
  • 创建字符串的方式很多,归纳起来有三类:
第一类,利用new关键字创建一个String对象,如:String s1 = new String("abc");

第二类,利用特性3直接创建,如:String s2 = "abc";

第三类,利用特性4串联生成新的字符串,如:String s3 = "a" + "b" + "c";

string 常用方法参考链接

  • length() 字符串的长度
  • charAt() 截取一个字符 //ch=“abc”.charAt(1); 返回’b’
  • toCharArray() String转换成char数组
  • substring()
  • trim() 去掉起始和结尾的空格

StringBuffer
string的字符串长度是固定的,StringBuffer用于处理可变字符串,是一个容器,区别去String的是,StringBuffer是一个对象,所有的这些方法处理的都还是StringBuffer这个对象,而String可能是不同的对象。

StringBuffer s0=new StringBuffer();分配了长16字节的字符缓冲区
StringBuffer s1=new StringBuffer(512);分配了512字节的字符缓冲区
StringBuffer s2=new StringBuffer("Happy new year!");在字符缓冲区中存放字符串"Happy new year!",另外,后面再留了16字节的空缓冲区。

常用方法参考链接

  • append()添加
    作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接
    synchronized决定StringBuffer是线程安全的
public synchronized StringBuffer append(int i) {
   
  • insert()方法
    接受boolean,char,double,float,int,long,string等各种值
    该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。例如:
StringBuffer sb = new StringBuffer(“TestString”);

sb.insert(4,false);

该示例代码的作用是在对象sb的索引值4的位置插入false值,形成新的字符串,则执行以后对象sb的值是”TestfalseString”。

append和insert的区别:
append默认在末尾添加,insert可以在指定位置添加

StringBuilder
StringBuilder和StringBuffer内部代码几乎一样,只是StringBuffer的所有方法都被关键字synchronized修饰,也就是说它是线程安全的

Double 类

是double的包装类,用于处理双精度数据的类

public final class Double extends Number implements 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java源码实例源码JAVA开发源码50个合集: Ajax框架 ZK.rar Java图书馆管理系统源程序.rar Java图片倒影效果实例源码.rar Java图片翻折,将图像压扁.rar Java坦克大战网络对战版源代码.rar Java声音播放程序源代码.rar JAVA实现CLDC与MIDP底层编程的代码.rar Java实现HTTP连接与浏览,Java源码下载.rar Java实现的FTP连接与数据浏览程序.rar Java实现的放大镜效果附有源文件.rar Java实现的点对点短消息发送协议(smpp)开发源码.rar Java实现的视频播放程序源码.rar Java实现移动的遮照效果.rar JAVA实现超级玛丽.zip Java实现跟踪鼠标运行坐标的源码.rar Java手机与计算机互发彩信源码.rar Java手机游戏大富翁源代码+注释.rar Java手机短信项目源码.rar Java扫雷源码.rar Java生成自定义控件源代码.rar Java调色板面板源代码.rar Java跳棋(基于SWT).rar Java通讯录手机版源码.rar Java鼠标拖拽功能.rar 乐趣大型购物系统.rar 可实现网上对战和人机对战.rar 基于BS结构的Java可视化工作流定制软件.rar 基于J2ME的Java游戏梦幻炸弹人源程序.rar 基于JAVA的ICQ系统.rar 基于Java的mp3播放器源代码.rar 基于Java的小型人事管理系统,带数据库.rar 基于JAVA的日程提醒簿.rar 基于Java的邮件服务器源程序.rar 基于MVC的Java资源管理器 v2.0.rar 基于smpp协议的Java点对点短信发送源码.rar 季风进销存管理系统(JSP版).rar 客户管理系统 Alfresco Content Management.rar 家庭多媒体播放器.rar 局域网广播系统java源码.rar 开源Winzip压缩工具Java源码.rar 很不错的Java计算器.rar 很强的Java加密解密算法源码.rar 泡泡堂战车游戏JAVA源码.rar 简单模拟的J2ME潜艇大战源代码.rar 简单的注册与登录功能.rar 类似QQ的聊天软件JAVA源码(附设计文档).rar 进程通信.rar 连接postsql数据库的java代码.rar 附加数据库.rar 雷电游戏JAVA版源程序.rar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值