API:特点环境,提供功能方法的类和定义特定方法的接口的总称。
java.lang包:基本的功能类包
java.lang包,在使用时,JVM会自动导入,其他包则需要手动显示导入。
1.1
Oject,基类,5个多线程方法,6个其他方法
equals   :源码实现为==,用于比较2个对象的地址是否一致。如果需要比较内容,需要重写该方法
hashcode:一般取对象的内存地址为hashcode,不同的对象,不同的哈希值,可提高对象的集合存储效率。一般重写该方法。
toString:返回对象的字符串形式
finalize:JVM回收资源前,会调用此方法。如果需要该对象被JVM释放前,做一些资源回收工作,可调用此方法。
getClass:获取类对象信息,用于反射
clone:复制对象,存在一些问题,实际引用中很少使用。
详细参考144页

1.2基本数据类型和它的包装类
基本数据类型:byte,char,short,int,long,float,double,boolean
对应包装类:Byte,Character,Short,Integer,Long,Float,Double,Boolean
包装类:以操作对象的方式操作数据
基本类型和包装类型的转换  、基本类型和字符串的转换、包装类型和字符串的转换、其他方法(静态方法)
注意:实际应用中,优先使用基本数据类型,更加简单、效率更高。
149页

1.3枚举
新建枚举要继承Enum.
内部实现是int类型常量。
values()取枚举类型的所有枚举值
valueOf()根据枚举元素名,取枚举元素值
枚举类,可定义构造器、属性、方法。可单独存在、也可作为类的内部类存在。
访问枚举值:类名.枚举类型名.枚举值
详细参考150页

1.4数字工具类Math
所有的属性和方法都是静态的,final类,不可被继承
2个属性和多个数学运算方法。如round(),max()
详细参考153页

1.5System类
1)有3个属性in,out,err分别表示标准输入,标准输出,标准异常流(待完善)
2)数组备份(数组复制):arraycopy(src,int,desc,int,length);从数组src的指定索引开始复制length个元素到dest数组的指定索引位置(从索引位置开始)
3)获取当前系统时间与格林威治时间之间的时间差(毫秒值):currentTimeMillis();
通常用于统计程序的执行时间(介绍毫秒值-开始毫秒值) 
如果需要更精确的时间,可使用System提供的系统计时器.nanotime()
4)获取或设置系统属性 :如file.seperator,file.encoding,java.io.tempdir等。详细参考155页
getProperties();
setProperty(String key,String def);
getProperty(Stirng key); 
例如:获取系统名可以用System.getPropery("os.name"); 
5)获取系统环境变量
 System.getenv("PATH");
 System.getenv("CLASSPATH");  
6)运行垃圾回收器
System.gc();提示JVM尽快去回收未使用的对象占用的内存,等效于Runtime.getRuntime().gc();
7)退出虚拟机
System.exit(int status);强制终止当前正在运行的java虚拟机。
非0的状态,标示异常终止
一般用于需要强制关闭程序时
157页

1.6 Runtime类
Runtime类,方便应用程序与其运行环境进行信息交互
Runtime类,使用了单例模式,因此只能通过静态方法Runtime.getRuntime();获取唯一实例。
获取Runtime实例:Runtime runtime=Runtime.getRuntime();
1)获取运行时内存情况
runtime.availableProcessors();//JVM可用CPU数目
runtime.maxMemory();//JVM可用最大内存,默认64M,可用-Xmx来修改
runtime.totalMemory();//JVM当前使用内存,-Xms指定JVM运行时立即使用的内存量
runtime.freeMemory()// JVM当前空闲内存
2)执行指定的命令:exec(String command);
如果需要在JAVA应用程序中,指定第三方应用程序(如解压缩工具软件),可使用此方法。159页

1.7String 类
String 是不可变的字符串(多个字符组成的字符序列)
String 有多种构造器,String s="core java";最简单,最高效 ,更省内存空间(因为s="core java"直接在字符串常量池中查找或创建core java,然后让变量S指向它;而String a=new String("core java"),先在字符串常量池中创建core java,然后在堆空间创建一个对象,内容备份自字符串常量池core java对象)
字符串是最常用的一个类,它的每个方法都要熟练掌握。
字符串常用方法: 
1)
.length();//获取字符串长度。
2)字符串比较
.equals(String value);//比较字符串,默认比较字符串地址,如果需要比较内容,需要重写equals()方法。
String类还提供了其他比较字符串的方法 :
equalsIgnocase(String value);比较2个字符串,忽略大小写
startsWith(String value); 是否以参数字符串开始
endsWith();是否以参数字符串结束
compareTo(String value);按字典书序比较字符串,‘a’<'b',相等返回0,字符串在参数值之前放回小于0,之后返回大于0; 
compare ToIgnorecare(String value );按字典顺序比较字符串,忽略大小写
3)字符串搜索
从字符串中搜索字符或子字符串
.indexOf(String str);参数字符串在字符串中第一次出现的索引,未出现返回-1;
.lastIndexOf(String str);最后一次出现在字符串中的索引,未出现返回-1;
.indexOf(String str,int fromindex); 参数字符串在字符串中第一次出现的索引,从fromindex开始搜索,未出现返回-1;
注意:以上三个搜索方法,str 还可以为int类型参数,代表字符的ASC码值。
charAt(int index);提取字符串中指定索引处单个字符,参数值必须非负
4)字符串修改相关方法
.substring(int index);提取从位置索引index开始到字符串尾的子字符串
.substring(int fromindex,int endinx);提取从fromindex开始到endindex的子字符串,不包含endindex
.concat(String str);将参数字符串联接到字符串尾部,返回一个新字符串
.replace(char old,char new);用字符new替换字符串中所有的old字符,返回新字符串
.trim();返回字符串副本,忽略首位空白
.toUpperCase();将字符串中所有字符转换为大写
.toLowerCase(); 将字符串中所有字符转换为小写
注意:字符串对象时不可变得,这些修改是在字符串对象的副本(一份备份)上进行的,返回的新字符串对象
5)其他数据类型转换成字符串
String类提供了静态转换方法String.valueOf(Object);
例如:String str=String.valueOf(1222);
6)其他方法

字符串编码问题:
JVM的默认编码:
System.getPropery("file.encoding");
解码和编码要一致,否则会乱码;
乱码解决:
 new String(源字符串.getBytes(原编码方式),目标编码方式);
166页

1.8StringBuffer和StringBuilder类
代表可变字符序列,用于对字符串的频繁修改
StringBuffer()和StringBuilder(),提供的方法相同,只不过StringBuffer线程安全,StringBuilder不安全(不安全性能更高) 
大部分情况下性能排序StringBuilder>StringBuffer>String
构造器:
StringBuilder();   
StringBuilder(String str);
常用方法:
append(String str);//将参数字符串追加到字符串序列(注意:除了追加字符串,还可以追加其他类型数据,参数可以是char,int,double等)
length ();获取序列对象的长度
insert(int ,String);将字符串插入到序列的指定位置
setCharAt(int ,char);提供序列指定位置字符
toString();转换为字符串
reverse();反转字符串
delete(int from,int end);删除序列中from 到end-1范围的字符
replace(int from,in end,String str );用 Str替换从from 开始知道end结束位置的字符
注意:修改字符串的方法,修改后会返回自身的引用。因此,可多个方法链(每个方法一行)

java.lang.*相关推荐

  1. 科学处理java.lang.StackOverflowError: null异常

    java.lang.StackOverflowError: null异常处理 在项目运行中出现StackOverflowError 首先要检查在编码中是否有明显的递归编码,比如死循环或者无限循环调用. ...

  2. Exception in thread main java.lang.Error: 无法解析的编译问题: 方法 main 不能声明为 static;只能在静态类型或顶级类型中才能声明静态方法

    Exception in thread "main" java.lang.Error: 无法解析的编译问题: 方法 main 不能声明为 static:只能在静态类型或顶级类型中才 ...

  3. java.lang.NullPointerException异常原因及解决

    java.lang.NullPointerException异常原因是因为创建了一个引用类型的变量却没有指向任何对象而又去通过这个引用类型变量加点的形式去访问非静态的方法及属性. 给出三种情况, 第一 ...

  4. java.lang.IllegalArgumentException: columnNames.length = 3, columnValues.length = 4

    错误如下: java.lang.IllegalArgumentException: columnNames.length = 3, columnValues.length = 4 出现错误的原因一般是 ...

  5. System.err: java.lang.UnsatisfiedLinkError: dlopen failed: library “libc++_shared.so“ not found

    Android Studio 配置OpenCV 的时候出现这样的提示 黄色警告libc++_shared.so" not found : System.err: java.lang.Unsa ...

  6. java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(j

    今天切正式环境出现的空指针 记录一下 下面是错误 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean j ...

  7. java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

    哎 这类问题 本来都不打算记录的,但是自己写的时候还是犯了错误,一运行报错了 大致就是list 超出了 ,可能index size 值不一样( Index: 9, Size: 9, Index: 5, ...

  8. java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction. in /U

    错误内容如下 java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction ...

  9. java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得

    该文章出自:http://www.cnblogs.com/hucn/p/3572384.html 分析工具:http://www.blogjava.net/jjshcc/archive/2014/03 ...

  10. java.lang.NoSuchMethodException 错误

    报错: Stacktraces java.lang.NoSuchMethodException: com.gssw.action.ProAction.update() java.lang.Class. ...

最新文章

  1. android RadioGroup设置某一个被选中
  2. VS Code有哪些奇技淫巧?
  3. (chap1 web网络基础) URI和URL
  4. python strip函数用法_python strip()函数 介绍
  5. struts2和springmvc实现文件上传
  6. linux把终端嵌入桌面,在Ubuntu Linux桌面上嵌入终端窗口
  7. sdut 数据结构实验之排序三:bucket sort
  8. dom文档对象手册_HTML5学习之DOM编程
  9. amp 符号 php,php中引用符号(amp;)的使用详解_PHP教程
  10. 精品 IDEA 插件大汇总!值得收藏
  11. aop java intercept_关于 Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
  12. minio 文件预览_Minio使用说明
  13. VB / VS 多语言软件设计
  14. 有限差分法解NS方程原理
  15. 深度学习——day8 读论文(2022 硕士毕业论文)大规模车辆路径问题的深度强化学习算法研究
  16. 微信小程序——小程序UI框架首页
  17. rxbus 源码_RxBus学习
  18. Django模板标签regroup方法对对象进行分组
  19. linux系统tfs安装,Jenkins使用TFS部署
  20. 手把手做一个JSP入门程序(九):购物车的基本实现(Servlet)

热门文章

  1. 求助!工业相机如何选型?
  2. 泛微数据连接配置路径
  3. 192.168.1.1\/cu.html 账号密码,RG100S管理员权限的web登录IP地址http://192.168.1...._考试资料网...
  4. JS怎样监控监控收集用户的行为数据
  5. Ubuntu18.04虚拟机桥接模式连wifi并配置静态IP
  6. 图吧导航引擎组2017校招电面总结
  7. MATLAB获取当前目录下.CSV格式文件名并调用
  8. 微博CacheService架构浅析
  9. Linux 高并发学习笔记 - exec 函数簇重载进程
  10. 视频会议租赁与买断模式收费标准