概述
StringBuffer
StringBuffer 是线程安全的(耗费资源) 可变序列
StringBuileder 是 一个线程不安全(不耗费资源) 可变序列
1.添加
2.插入
3.删除
4.替换
5.反转
方法的调用
// 反转
// 字符串 转StringBuffer
// StringBuffer 转Strin
public static void fun7() {
String string = "wanglong";
StringBuffer sb=new StringBuffer(string);
sb.reverse();
sb.toString();
string = sb.toString();
System.out.println(string);
}
public static void fun1() {
//构造方法初始化Stringbuffer
StringBuffer sb = new StringBuffer();
// 打印当前容量(理论值)
System.out.println(sb.capacity());
// 打印长度(实际值)
System.out.println(sb.length());
// 打印内容
System.out.println(sb);
StringBuffer sb1 = new StringBuffer("wanglong");
System.out.println(sb1.capacity());
System.out.println(sb1.length());
System.out.println(sb1.toString());
}
public static void fun2() {
// 添加 append (可以添加多种类型)
// 对StringBuffer操作的时候改变的时其本身
StringBuffer sb1 = new StringBuffer("wanglong");
System.out.println(sb1);
//对象点方法
sb1.append("n").append("b");
}
public static void fun3() {
// 添加 append (可以添加多种类型)
// 对StringBuffer操作的时候改变的时其本身
// 按照下标去插入
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1);
// 设置长度
sb1.setLength(10);
sb1.insert(5, "nbkljl");
//把索引位置的字符替换掉
sb1.setCharAt(6, 'p');
sb1.insert(6, 5);
System.out.println(sb1);
}
public static void fun4() {
StringBuffer sb1 = new StringBuffer("wanglongnb");
// 留头不留尾
sb1.delete(15, 35);
sb1.deleteCharAt(7);
System.out.println(sb1);
}
// 替换
public static void fun5() {
StringBuffer sb1 = new StringBuffer("wanglongnb");
sb1.replace(0,4, "s");
System.out.println(sb1);
}
//反转
public static void fun6() {
StringBuffer sb1 = new StringBuffer("wanglongnb");
sb1.reverse();
System.out.println(sb1);
}
例题
把 int[] array = new int[] {1,2,3,4};
用StringBuffer的方法打印成 [1,2,3,4]
int[] array = new int[] {1,2,3,4};
StringBuffer stringBuffer = new StringBuffer("[");
for (int i = 0; i < array.length; i++) {
if(i==array.length-1) {
stringBuffer.append(array[i]+"]");
}else {
stringBuffer.append(array[i]+",");
}
}
System.out.println(stringBuffer.toString());
字符串 和StringBufferd当做参数时的表现
public static void fun11(String string) {
string = "wanglong";
}
public static void fun12(StringBuffer sb) {
sb.append("wanglong");
}
public static void main(String[] args) {
/*
* 虽然字符串是个对象类型 但是作为参数的时候
* 跟基本数据类型一样 相当于是值得传递
*/
String string = " HanHan";
fun11(string);
System.out.println(string);//打印HanHan
/* 测试 StringBuffer作为参数时 是否发生改变
*
* StringBuffer是 引用数据类型
* 作为参数相当于 地址的传递 在函数中 修改的部分
* 相当于在原串上进行的操作
*/
StringBuffer sb = new StringBuffer();
sb.append( "HanHan");
fun12(sb);
System.out.println(sb);打印HanHanwanglong
}
权限修饰符
权限修饰符 | 本类 | 同包类 | 同包子类 | 不同包子类 | 不同包类 |
---|---|---|---|---|---|
public | yes | yes | yes | yes | yes |
protected | yes | yes | yes | yes | no |
default | yes | yes | yes | no | no |
private | yes | no | no | no | no |
Arrays
常用3方法
1.Arrays.sort(int[] a) 升序
2.Arrays.toString(int[] a) 数组类型转化为字符串类型
3.Arrays.binarySearach(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组,以获得指定的值
基本数据类型包装类
基本数据类型 与 包装类
包装类把基本数据类型 封装成一个对象
思考 封装成一个对象有什么好处
封装成一个类 类中就写成员方法
int Integer
short Short
long Long
byte Byte
double Double
float Float
char Character
boolean Boolean
Integer类的方法调用
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建一个Integer对象
Integer integer1 = new Integer(10);
System.out.println(integer1);
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toOctalString(60));
System.out.println(Integer.toHexString(60));
//
// // 利用字符串来创建 Integer对象
Integer integer2 = new Integer("10");
System.out.println(integer2);
//
//
// // integer类型 转化为 int类型
integer2.intValue();
System.out.println(integer2);
// // 字符串类型转化为int类型
int parseInt = Integer.parseInt("20");
System.out.println(parseInt);
/*
* 1.5版本以后 添加了功能
* 自动装箱功能
* 自动拆箱功能
*
* 注意:系统帮你拆箱 和装箱的过程 其实就帮你调用转化的方法
*
*/
Integer num1 =null;// 自动装箱
int rel = num1.intValue() +5;// 自动拆箱
System.out.println(rel);
}
最后
以上就是慈祥小兔子为你收集整理的文章标题的全部内容,希望文章能够帮你解决文章标题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复