Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要
String 字符串
String字符串常用方法
StringBuffer
StringBuilder
String字符串:
1.实例化String对象
直接赋值 String str="Hello"; 推荐这种
使用关键字new String str1=new String("Hello"); 在内存中开辟2个空间
如图:
源代码 StringDemo01.java
2.String内容的比较
String str="Hello";
String str1=new String("Hello");
//System.out.println(str==str1); false
System.out.println(str.equals(str1));
//"=="比较的是内存地址 equals比较是内容
详细源代码如下StringDemo02.java
3.字符串内容不可改变
String str="hello";
String str1=str+"World";
System.out.println(str1);
感觉是组合了 改变了 但是通过图
StringDemo03.java
#String字符串常用方法
1.字符串的长度 :length()方法
2.字符串转换成数组:toCharArray();
3.从字符串中取出指定位置的字符charAt();
4.字符串与byte数组的转换:getBytes()
5.过滤字符串中存在的字符:indexOf() 有返回当前位置下标 无返回-1
System.out.println(str.indexOf("@"));
6.去掉字符串的前后空格trim()
System.out.println(str.trim());
7.从字符串中取出子字符串
8.大小写转换 toLowerCase() toUpperCase();
9.判断字符串的开头结尾字符,endWith() startWith()
10.替换String字符串中的一个字符replace()
StringDemo04.java
#StringBuffer
1.认识StringBuffer
缓冲区,本身也是操作字符串,但是与String不同,StringBuffer是可以更改的、
即String是常量StringBuffer是个变量 StringBuffer是个操作类,所以必须通过实例化进行操作
StringBuffer sb=new StringBuffer();
sb.append("jikexueyuan");//append添加内容 Sql语句时前后注意空格
System.out.println(sb.toString());
StringBufferDemo01.java
2.StringBuffer常用方法
append()//追加
insert()插入这个方法
replace()
indexOf
StringBufferDemo02.java
3.StringBuffer的应用
String str="jikexueyuan";
for (int i = 0; i < 100; i++) {
str=str+i;
}
System.out.println(str);
//开辟100个空间+str1个=101个
}
4.0 StringBuilder
1. 在执行速度方面的比较:StringBuilder > StringBuffer
2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。
3. StringBuilder:线程非安全的
StringBuffer:线程安全的
当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。 对于三者使用的总结:1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0的更多相关文章
- Java进阶(二十一)java 空字符串与null区别
java 空字符串与null区别 1.类型 null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ; ""表示的是一个空字符串, ...
- JAVA中String字符串比较equals()和equalsIgnoreCase()的区别
标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报 分类: JAVA(3) 1.使用equals( )方法比较两个字符串是 ...
- java 中字符串比较equals()和equalsIgnoreCase()的区别
1.使用equals( )方法比较两个字符串是否相等 boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象. 如 ...
- Java中的 "==" 和 "equals" 区别
分析 "==" 和 "equals" 区别的时候先了解一下Java的内存. Java内存 “==” 和 “equals” 区别” “==”: “==”比较的是 ...
- 黑马程序员——JAVA基础之 == 和equals区别
java中 == 和equals区别: java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
1.使用equals( )方法比较两个字符串是否相等(区分大小写) 2.使用equalsIgnoreCase( )方法比较两个字符串是否相等(不区分大小写) boolean equalsIgnoreC ...
- Java中的==和equals区别
概述: A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同:当用于引用类型的时候,是比较对象是否相同. B.对于String a = “a”; Integer b = 1;这种类型 ...
- java基础 字符串 “==” 和 “equals” 比较
demo: public class TestStringEquals { public static void main(String[] args) { String a = "test ...
- JAVA识别字符串是数字(英文)还是汉字,web页面进行字符截断的帮助类
public static void main(String[] args) { //长度是2说明是英文/数字/英文状态下的字符,长度为4说明是汉字/中文状态下的字符 String str = &qu ...
随机推荐
- [转]深入分析 Java 中的中文编码问题
收益匪浅,所以转发至此 原文链接: http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 深入分析 Java 中的中文编码问题 编 ...
- Oracle题目
1. 创建一个函数fun_sal,该函数根据部门号获得该部门下所有员工的平均工资Create or replace function fun_sal(deptnos number)return var ...
- Bridging signals hdu 1950 (最长上升子序列)
http://acm.split.hdu.edu.cn/showproblem.php?pid=1950 题意:求最长上升(不连续or连续)子序列 推荐博客链接: http://blog.csdn.n ...
- 安装uwsgi记录
yum install gcc pip install uwsgi 报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 ... 解决: ...
- python profile
一.profile,cProfile 1. python -m cProfile myprogram.py python -m profile myprog.py2. 使用import profile ...
- 10个你必须掌握的Linux超酷VI命令技巧
大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. 在使用 ...
- javascript学习第一课
1.基本知识: 1.1 词法结构 1.1.1 字符集 javascript程序是用Unicode字符集编写的. 1.1.2 区分大小写 javascript是区分大小写的语言.也即是关键字.变量.函数 ...
- 2287: 【POJ Challenge】消失之物
Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. "要使用剩下的 N - 1 物品装满容积为 x ...
- C语言和Lua的交互
//test.c #include <stdio.h> #include "lua.h" #include "lualib.h" #include ...
- chmod和fchmod函数 /chown ,fchown,lchown函数
这两个函数使我们可以更改现有文件的访问权限: #include <sys/stat.h> int chmod( const char *pathname, mode_t mode ); i ...