课程概要

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的更多相关文章

  1. Java进阶(二十一)java 空字符串与null区别

    java 空字符串与null区别 1.类型 null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ; ""表示的是一个空字符串, ...

  2. JAVA中String字符串比较equals()和equalsIgnoreCase()的区别

    标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报  分类: JAVA(3)  1.使用equals( )方法比较两个字符串是 ...

  3. java 中字符串比较equals()和equalsIgnoreCase()的区别

    1.使用equals( )方法比较两个字符串是否相等 boolean equals(Object str) 这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象. 如 ...

  4. Java中的 "==" 和 "equals" 区别

    分析 "==" 和 "equals" 区别的时候先了解一下Java的内存. Java内存 “==” 和  “equals” 区别” “==”: “==”比较的是 ...

  5. 黑马程序员——JAVA基础之 == 和equals区别

    java中 == 和equals区别: java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...

  6. JAVA中字符串比较equals()和equalsIgnoreCase()的区别

    1.使用equals( )方法比较两个字符串是否相等(区分大小写) 2.使用equalsIgnoreCase( )方法比较两个字符串是否相等(不区分大小写) boolean equalsIgnoreC ...

  7. Java中的==和equals区别

    概述: A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同:当用于引用类型的时候,是比较对象是否相同. B.对于String a = “a”; Integer b = 1;这种类型 ...

  8. java基础 字符串 “==” 和 “equals” 比较

    demo: public class TestStringEquals { public static void main(String[] args) { String a = "test ...

  9. JAVA识别字符串是数字(英文)还是汉字,web页面进行字符截断的帮助类

    public static void main(String[] args) { //长度是2说明是英文/数字/英文状态下的字符,长度为4说明是汉字/中文状态下的字符 String str = &qu ...

随机推荐

  1. 摘抄——读《大话移动APP测试 Android与IOS》

    用了两天读完了<大话移动APP测试 Android与IOS>,由于刚开始接触移动测试,技术型的篇章只能先放过了o(╯□╰)o,有以下内容觉得很有必要时不时的看看,来反思自己的工作,自勉!! ...

  2. Eclipse 3.5使用dropins的插件安装方式

    以前安装Eclipse插件有两种方式 1 直接copy插件到features/plugins目录 2 在links目录下创建链接文件. 而 Eclipse 3.5又推出另一种新的安装途径, 更加灵活. ...

  3. Longest Palindromic Substring

    题目:https://leetcode.com/problems/longest-palindromic-substring/ 算法分析 这道题的解法有三种:暴力法.动态规划.Manacher算法.三 ...

  4. ICE系列之2——ICE的服务与好处

    ice服务: IcePack         我们在第 12 页提到过, IcePack 是 Ice 的定位服务,用于在使用间接绑定时把符号性的 (symbolic)适配器名解析为协议-地址对. 除了 ...

  5. LeetCode OJ-- Scramble String ***@

    https://oj.leetcode.com/problems/scramble-string/ 一个字符串的混排变换,简直太妙了,好题 class Solution { public: bool ...

  6. Unity5的AssetBundle的一点使用心得

    昨天一位朋友在我这里留言,想让我写点Unity5的AssetBundle心得.于是我就看了相关的介绍,和自己确切的做了一次.下面来谈谈所谓的心得. 如果你觉得自己对AssetBundle不熟悉,建议先 ...

  7. maven错误:Project configuration is not up-to-date with pom.xml

    原因: 1.导入maven工程后,出现如下错误: Description    Resource    Path    Location    TypeProject configuration is ...

  8. MySql自动分区

    自动分区需要开启MySql中的事件调度器,可以通过如下命令查看是否开启了调度器 show variables like '%scheduler%'; 如果没开启的话通过如下指令开启 ; 1.创建一个分 ...

  9. IMP数据到指定的表空间

    IMP数据到指定的表空间 当我们通过imp导入dmp文件时,默认的情况下,数据会导入到exp出的dmp文件所对应的表空间里面. 比如:通过orcl_dev用户,exp数据,用orcl_test用户im ...

  10. 关于网络爬虫项目的项目建议(NABCD)

    Need 我们小组的研究课题是编写一个更快捷,更安全的爬虫软件,编写时会应用到学长的部分代码并在其基础上完善创新. 初步阅读了学长们的博客上面的几个版本的测试情况和源代码,发现学长们在实现基础功能的条 ...