代码块&&API(object、String、StringBuffer、StringBuilder)
day 07
代码块
局部代码块
定义在方法中,用户划分区域的
构造代码块
- 和成员方法并列,用{}包裹
- 每次创建对象的时候都会执行,优先于构造方法
静态代码块
- 构造代码块前面用static声明
- 在同类下,它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
- 该类不管创建多少对象,静态代码块只执行一次。
- 可用于给静态变量赋值,用来给类进行初始化。
API
Application Programming Interface
object
- 五大常用包:lang、util、sql、io、net
- lang包下的类不需要导包
- 常用方法:
- public boolean equals(Object obj) :
- 功能:判断两个对象的地址值是否相等。
- 注意:重写该方法,通常需要覆盖
hashCode
方法,以便维护hashCode
方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。 - public String toString() :
getClass().getName() + '@' + Integer.toHexString(hashCode());
//全限定类名的字符串@ ”和对象的哈希码的无符号的十六进制表示
String
- 构造方法(简):
- String() :初始化新创建的 String对象,使其表示空字符序列。
- char:不能创建空字符对象。
- String(byte[] bytes) :通过使用平台的默认字符集解码指定的字节数组来构造新的
String
。- 常用ASCII:
- ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)
- 32~126(共95个)是字符(32是空格)
- 48~57为0到9十个阿拉伯数字。
- 65~90为26个大写英文字母。
- 97~122号为26个小写英文字母。
- 其余为一些标点符号、运算符号等。
- 常用ASCII:
- APi
boolean equals(Object obj) 判断两个字符串中 的内容是否相同
boolean equalsIgnoreCase(String str) 判断两个字符串中的内容是否相同, 忽略大小写
boolean contains(String str) 判断该字符串中是否包含给定的字符串
boolean startsWith(String str) 判断该字符串是否以给定的字符串开头
boolean endsWith(String str) 判断该字符串是否以给定的字符串结尾
boolean isEmpty() 判断该字符串的内容是否为空的字符串
int length() 获取该字符串的长度
char charAt(int index) 获取该字符串中指定位置上的字符
String substring(int start) 从指定位置开始,到末尾结束,截取该字符串,返回新字符串
String substring(int start,int end) 从指定 位置开始,到指定位置结束,截取该字符串,返回新字符串
int indexOf(int ch ) 获取给定的字符,在该字符串中第一次出现的位置
int indexOf(String str) 获取给定的字符串,在该字符串中第一次出现的位置
int indexOf(int ch,int fromIndex) 从指定位 置开始,获取给定的字符
byte[] getBytes() 把该字符串 转换成字节数组
char[] toCharArray() 把该字符串 转换成字符数组
String replace(char old,char new) 在该字符 串中,将给定的旧字符,用新字符替换
String replace(String old,String new) 在 该字符串中, 将给定的旧字符串,用新字符串替换
String trim() 去除字符串两端空格,中间的不会去 除,返回一个新字符串
String toLowerCase() 把该字符串转换成 小写字符串
String toUpperCase() 把该字符串转换成 大写字符串
int indexOf(String str,int fromIndex) 从 指定位置开始,获取给定的字符串,在该字符串中第一 次出现的位置
- 构造方法(简):
StringBuffer
- 又称为字符串缓冲区,是一个容器,里面存放了很多字符,是一个线程安全,可变的字符序列
- 构造方法:
- StringBuffer() :初始容量为16个字符,参数可以为字符串或定义容量的整型或者字符数组
- API:
- 添加:append();
- 插入:insert(int start, String str);
- 替换:raplace(int start, int end, String str);
- 删除:delete(int start, int end);
StringBuilder
- 与 StringBuffer 兼容的 API,但是属于线程不安全的,所以效率较高,推荐使用
代码块&&API(object、String、StringBuffer、StringBuilder)的更多相关文章
- Object,String,StringBuffer,StringBuilder,System,Runtime,Date,Math介绍及用法(API)
1 Object对象 面向对象的核心思想:“找合适的对象,做适合的事情”. 合适的对象: 自己描述类,自己创建对象. sun已经描述了好多常用的类,可以使用这些类创建对象. API(App ...
- 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)
7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...
- final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?
继上篇JVM学习之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题. 题目一.final,finally,finalize有什么区别? /*请尊重作者劳动成果,转载请标明原文链接:*/ /* ...
- String,StringBuffer,StringBuilder源码分析
1.类结构 String Diagrams StringBuffer Diagrams StringBuilder Diagrams 通过以上Diagrams可以看出,String,StringBuf ...
- Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...
- String,StringBuffer,StringBuilder的区别及其源码分析
String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...
- String | StringBuffer | StringBuilder 比较
2016的第一天,我决定写一篇博客来纪念这一天,希望一年好运吧. String|StringBuffer|StringBuilder这三者在我们学习JAVASE核心API的时候常常出来,而且大多数入门 ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
随机推荐
- Java实现 Leetcode 169 求众数
public static int majorityElement(int[] nums) { int num = nums[0], count = 1; for(int i=1;i<nums. ...
- java实现取球游戏
/* 今盒子里有 n 个小球,A.B 两人轮流从盒中取球,每个人都可以看到另一个人取了多少个, 也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断. 我们约定: 每个人从盒子中取出的球的 ...
- Flutter 中 GestureDetector 的使用误区
在实际开发中,我们通常需要实现某个组件的更多点击事件.比如:原生的RaisedButton组件是无法响应诸如拖拽或是按下.抬起等细化的动作,它只有一个onPressed()方法来表示.当我们想实现这些 ...
- 「从零单排canal 02」canal集群版 + admin控制台 最新搭建姿势(基于1.1.4版本)
canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Service)的开 ...
- 超强教程!在树莓派上构建多节点K8S集群!
在很长一段时间里,我对于在树莓派上搭建Kubernetes集群极为感兴趣.在网络上找到一些教程并且跟着实操,我已经能够将Kubernetes安装在树莓派上,并在三个Pi集群中工作.然而,在master ...
- ODEINT 求解常微分方程(4)
import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # function tha ...
- 写了个全局变量的bug,被同事们打脸!!!
话说栈长前阵子写了一个功能,测试 0 bug 就上线了,上线后也运行好好的,好多天都没有人反馈bug,超爽.. 不出问题还好,出问题就是大问题.. 最近有个客户反馈某些数据混乱问题,看代码死活看不出什 ...
- Email地址验证
<script>function validateForm(){ var x=document.forms["myForm"]["email"].v ...
- foreach 集合又抛经典异常了,这次一定要刨根问底
一:背景 1. 讲故事 最近同事在写一段业务逻辑的时候,程序跑起来总是报:集合已修改:可能无法执行枚举操作,硬是没有找到什么情况下会导致这个异常产生,就让我来找一下bug,其实这个异常在座的每个程序员 ...
- CentOS7.5搭建ES6.2.4集群与简单测试
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...