- 浏览: 1596066 次
- 来自: 上海
-
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
StringBuffer 和 StringBuilder
装箱 和 拆箱
/** * StringBuffer是字符串缓冲区一个容器 * 特点: * 1.长度是可变的 * 2.可以直接操作多种数据类型 * 3.最终会通过toString方法编程字符串 * * * 1.存储 * StringBuffer append(): 将数据作为参数添加到已有的数据结尾处. * StringBuffer insert(index,数据);可以将数据插入到指定的index位置. * 2.删除 * StringBuffer delete(int start,int end): 包含 start 不包含 end * StringBuffer deleteCharAt(int index):删除指定位置字符 * 3.修改 * StringBuffer replace(int start,int end,String str); * void setCharAt(int index,char c); * 4.查询 * char charAt(index):获取指定角标上的字符 * int indexOf(String str) * int lastIndexOf(String str) * int length() * String subString(int start) * * 5.反转 * StringBuffer reverse(); * * 6.复制 * void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin) * * * *JDK1.5 版本之后出现了StringBuilder. * * StringBuffer 是线程同步. * StringBuilder 是线程不同步. 单线程的时候 一般都用这个 以后开发建议使用 StringBuilder * *JDK 升级 的三个因素 * 1.提高效率 * 2.简化书写 * 3.提高安全性 * */ public class StringBufferDemo { public static void sop(String str){ System.out.println(str); } public static void method_copy(){ StringBuffer sb=new StringBuffer("abcdef"); char[] chs=new char[4]; sb.getChars(0, 4, chs, 0); for (char c : chs) { sop("getChars"+c); } } public static void method_update(){ StringBuffer sb=new StringBuffer("abcdef"); sb.replace(1, 4, "JAVA"); sop(sb.toString()); sb.setCharAt(2,'K'); //替换指定位置上的字符 sop(sb.toString()); } public static void method_delete(){ StringBuffer sb=new StringBuffer("abcdef"); sb.delete(1,3); sop(sb.toString()); //清空缓冲区 //sb.delete(0, sb.length()); //删除 sb中的 c sb.deleteCharAt(2);// 或者 sb.delete(2,3); sop(sb.toString()); } public static void method_create(){ StringBuffer sb=new StringBuffer(); StringBuffer sb1=sb.append(34); sop("sb==sb1:"+(sb==sb1)); sb.append("sdfsdf").append(true).append(123); sop(sb.toString()); } public static void main(String[] args) { method_create(); method_delete(); method_update(); method_copy(); } }
装箱 和 拆箱
/** * 基本数据类型的对象包装类 * byte Byte * short short * int Integer * boolean Boolean * float Float * double Double * char Character * * 基本数据类型对象包装类的最常见作用 * 1.就是用于基本数据类型和字符串类型之间的转换 * * 基本数据类型装字符串 * 基本数据类+""; 这样就变成了一个字符串 * 基本数据类型.toString(基本数据类型值); * 如: Integer.toString(34); //将34 整数类型变成 "34" * * 字符串转成基本数据类型. * 基本数据类型包装类.parseXXX(str); * xxx a=Xxxx.parseXxx(String stt); * * double d=Double.parstDouble("12.13"); * * 十进制转换其他进制 * toBinaryString(); * toHexstrng(); * toOctalString(); * * 其他进制转换成十进制 * parseInt(string,radix); * */ public class IntegerDemo { public static void sop(String str){ System.out.println(str); } public static void main(String[] args) { //整数类型的最大值 sop("int max:"+Integer.MAX_VALUE); //用于判断 表达式运算后的值 是不是在这个整数范围 //将在一个字符串转成整数 int num=Integer.parseInt("123"); //必须要传入数字格式的字符串 sop("num="+(num+4)); long x=Long.parseLong("123"); boolean b=Boolean.parseBoolean("true"); sop("boolean="+b); sop(Integer.toBinaryString(6)); sop(Integer.toHexString(60)); int ss =Integer.parseInt("110",10); sop(""+ss); ss =Integer.parseInt("110",2); ss =Integer.parseInt("3c",16); sop(""+ss); Integer i=new Integer("123"); int sss=i.intValue(); //这样也可以转成 基本数据 method(); method1(); } public static void method(){ Integer x=new Integer("123"); Integer y=new Integer("123"); sop("x==y:"+(x==y)); sop("x.equals(y):"+x.equals(y)); } public static void method1(){ Integer x=new Integer(4); Integer x1=4; //和上面的相等 4 就是一个对象 代替了 new Integer(4); 这个是自动装箱过程只在JDK 5.0后才行. x=x1+2; //4 表示一个对象, 那 对象 +2 肯定是不成功的. 原因 4:进行了 自动拆箱. x1.intValue(); 然后在进行装箱赋值给 x //x1=x1+2; //享元模式 Integer m=128; Integer n=128; sop("m==n:"+(m==n)); //false Integer m1=127; Integer n1=127; sop("m1==n1:"+(m1==n1)); //true ,因为 m1 和 n1 指向了同一个Integer对象. //因为当数值在byte范围内的时候.-128~127中,对于新特性,如果该数值已经存在,则不会在开辟新的空间. sop("m1.compareTo(n1)"+m1.compareTo(n1)); //0 相等 } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1012public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2293经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5678package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1028import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1064/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1026//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1833更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1426import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 828import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2406import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 936// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1181import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 813import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1157import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3909import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 978/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1035import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1850Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1024/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2244package out; import ja ...
相关推荐
第二部分“黑马程序员_毕向东_Java基础视频教程第13天-03-String(常见功能-转换).avi”会详细讨论字符串的各种转换方法。`String`类提供了多种转换方法,如`toLowerCase()`和`toUpperCase()`用于大小写转换;`trim()...
本节视频教程"Java基础视频教程第13天 string字符串02"深入探讨了Java中字符串对象的创建、常用方法以及一些核心特性。下面将详细解析这些知识点。 1. **字符串对象的创建** Java中的字符串是不可变的,这意味着...
在本教程"字符串1306"中,我们将深入学习Java中的字符串处理,特别是通过`StringBuffer`类来实现字符串的高效修改和管理。本教程对应于Java基础视频教程的第13天,由知名教育机构黑马程序员的讲师毕向东讲解。 首先...
在第13天的学习中,讲师毕向东深入讲解了字符串的操作和应用,特别是通过两个实践练习——字符串练习2和字符串练习3,来巩固学员对字符串的理解。 Java中的String类是不可变的,这意味着一旦创建了String对象,它的...
在本套Java基础视频教程的第13天,主要讲解了字符串对象的使用,特别是`String`类以及与之相关的`StringBuffer`和`StringBuilder`类。以下是关于这些知识点的详细解释: 1. **String类**: - `String`是Java中的一...
本节视频教程"Java基础视频教程第13天 string字符串07"深入探讨了Java中的字符串处理,特别是围绕基本数据类型与对象包装类之间的交互。 首先,字符串在Java中是不可变的,这意味着一旦创建了一个字符串对象,就不...
学习如何使用StringBuilder或StringBuffer进行字符串拼接以提高效率。 7. **异常处理**:Java的异常处理机制使得程序更加健壮,通过try-catch-finally语句块捕获和处理运行时错误。理解Checked和Unchecked异常的...
7. **字符串与字符串处理**:掌握String类的常用方法,如concat、substring、indexOf等,以及StringBuffer和StringBuilder类的使用。 8. **集合框架**:了解ArrayList、LinkedList、HashSet、HashMap等集合类,以及...
8. **字符串**:String类的特性和常用方法,字符串不可变性,以及StringBuilder和StringBuffer的使用。 9. **异常处理**:理解异常的概念,如何使用try-catch-finally结构捕获和处理异常,以及自定义异常。 10. **...
另外,StringBuilder和StringBuffer用于构建和修改字符串,尤其在多线程环境下。 7. **异常处理**:Java通过try-catch-finally语句块进行异常处理,提供了一种统一的错误处理机制。了解Checked异常和Unchecked异常...
6. **字符串操作**:熟悉String类的常用方法,以及StringBuilder和StringBuffer的使用。 7. **输入/输出流**:学习文件I/O操作,包括File类、Scanner类和PrintWriter类,以及流的概念。 8. **面向对象进阶**:深入...
9. **Day 9:字符串处理** - 使用String类和StringBuilder/StringBuffer,进行字符串操作。 10. **Day 10:集合框架** - 了解ArrayList、LinkedList、HashSet、HashMap等集合类的使用。 11. **Day 11:IO流** - ...
6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 插入新的字符串 146 实例111 获取...
6. **字符串处理**:String类在Java中扮演重要角色,学习其不可变性、常用方法(如concat、substring、indexOf、replace等)以及StringBuilder和StringBuffer的使用。 7. **异常处理**:Java提供了异常处理机制,...
8. **字符串**:Java中的`String`类是不可变的,处理字符串时通常会用到`StringBuilder`或`StringBuffer`类。 9. **异常处理**:Java使用异常处理机制来处理程序运行时可能出现的错误,通过try-catch-finally结构...
2. 字符串的操作:写一个方法,实现字符串的反转,如:输入 abc,输出 cba。 - 可以使用 StringBuilder 的 reverse() 方法来实现字符串的反转。 3. 数据类型之间的转换 - 如何将数值型字符转换为数字(Integer,...
6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 插入新的字符串 146 实例111 ...
6.2 字符串缓存类StringBuffer 143 实例106 创建字符串缓存类 143 实例107 提取单个字符 144 实例108 给指定字符赋值 145 实例109 插入新的字符 146 实例110 插入新的字符串 146 实例111 获取字符串的子串 147 实例...
String是不可变的字符序列,StringBuffer是可变的字符序列,后者在执行改变字符串的操作时,效率更高。 42. 用java代码编写堆栈。 可以使用数组或者ArrayList来实现栈的功能,定义push、pop、peek等方法来操作栈顶...
5. **字符串处理**:Java中的String类,字符串的创建、操作和比较,以及StringBuilder和StringBuffer的使用。 6. **数组**:一维数组和多维数组的创建、初始化和遍历,以及数组的复制和排序。 7. **异常处理**:...