1. 创建String对象的常用方法

(1) String s1 = "mpptest"

(2)  String s2 = new String();

(3) String s3 = new String("mpptest")

2. String中常用的方法,用法如图所示,具体问度娘

3.  三个方法的使用: lenth()   substring()   charAt()

package com.mpp.string;

public class StringDemo1 {
public static void main(String[] args) {
//定义一个字符串"晚来天欲雪 能饮一杯无"
String str = "晚来天欲雪 能饮一杯无";
System.out.println("字符串的长度是:"+str.length()); //字符串的雪字打印输出 charAt(int index)
System.out.println(str.charAt(4)); //取出子串 天欲
System.out.println(str.substring(2)); //取出从index2开始直到最后的子串,包含2
System.out.println(str.substring(2,4)); //取出index从2到4的子串,包含2不包含4 顾头不顾尾
}
}

4. 两个方法的使用,求字符或子串第一次/最后一次在字符串中出现的位置: indexOf()   lastIndexOf()

package com.mpp.string;

public class StringDemo2 {
public static void main(String[] args) {
String str = new String("赵客缦胡缨 吴钩胡缨霜雪明"); //查找胡在字符串中第一次出现的位置
System.out.println("\"胡\"在字符串中第一次出现的位置:"+str.indexOf("胡"));
//查找子串"胡缨"在字符串中第一次出现的位置
System.out.println("\"胡缨\"在字符串中第一次出现的位置"+str.indexOf("胡缨")); //查找胡在字符串中最后一次次出现的位置
System.out.println(str.lastIndexOf("胡"));
//查找子串"胡缨"在字符串中最后一次出现的位置
System.out.println(str.lastIndexOf("胡缨")); //从indexof为5的位置,找第一次出现的"吴"
System.out.println(str.indexOf("吴",5));
}
}

5. 字符串与byte数组间的相互转换

package com.mpp.string;

import java.io.UnsupportedEncodingException;

public class StringDemo3 {
public static void main(String[] args) throws UnsupportedEncodingException {
//字符串和byte数组之间的相互转换 String str = new String("hhhabc银鞍照白马 飒沓如流星");
//将字符串转换为byte数组,并打印输出
byte[] arrs = str.getBytes("GBK");
for(int i=0;i<arrs.length;i++){
System.out.print(arrs[i]);
} //将byte数组转换成字符串
System.out.println();
String str1 = new String(arrs,"GBK"); //保持字符集的一致,否则会出现乱码
System.out.println(str1);
}
}

6. 等于运算符和equals之间的区别:

引用指向的内容和引用指向的地址

package com.mpp.string;

public class StringDemo5 {
public static void main(String[] args) {
String str1 = "mpp";
String str2 = "mpp";
String str3 = new String("mpp"); System.out.println(str1.equals(str2)); //true 内容相同
System.out.println(str1.equals(str3)); //true 内容相同
System.out.println(str1==str2); //true 地址相同
System.out.println(str1==str3); //false 地址不同
}
}

7. 字符串的不可变性

String的对象一旦被创建,则不能修改,是不可变的

所谓的修改其实是创建了新的对象,所指向的内存空间不变

上图中,s1不再指向imooc所在的内存空间,而是指向了hello,imooc

String常用方法简介的更多相关文章

  1. Javascript语言精粹之String常用方法分析

    Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的 ...

  2. JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较

    JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...

  3. String常用方法

    1. String StringBuffer StringBuilder的区别: 001.在执行速度方法 StringBuilder > StringBuffer > String 002 ...

  4. JVM内存分配及String常用方法

    一,JVM内存分配和常量池 ​ 在介绍String类之前,先来简单分析一下在JVM中,对内存的使用是如何进行分配的.如下图所示(注意:在jdk1.8之后便没有方法区了): ​ ​ 如上JVM将内存分为 ...

  5. Java 中String常用方法

    java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...

  6. Java中String常用方法

    java中String的常用方法1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len= ...

  7. Java更新XML的四种常用方法简介

    本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for X ...

  8. 类String 常用方法

    字符串当中的常用方法之比较相关的方法 public boolean equals (object obj):将此字符串与指定的对象进行比较(只有参数是字符串并且内容相同才会返回true) public ...

  9. JavaScript String常用方法和属性

    在JavaScript中,字符串是不可变的,如果使用索引对字符串进行修改浏览器不会报错,但也没有任何效果.JavaScript提供的这些方法不会修改原有字符串的内容,而是返回一个新的期望的字符串. 一 ...

随机推荐

  1. JSON.stringify出现 "Converting circular structure to JSON"

    JSON.stringify()  我们很熟悉了,将一个对象转换为json形式的字符串. 但是如果你在浏览器控制台中输出 JSON.stringify(window). 如果期望输出一段文字, 可能会 ...

  2. process调用protothread机制的相关宏定义——用HelloWorld进程诠释

    一.HelloWorld例子 #include "contiki.h" #include <stdio.h> /* For printf() */ /*-------- ...

  3. 前端多媒体(4)—— video标签全面分析

    测试地址:https://young-cowboy.github.io/gallery/html5_video/index.html 属性 一些属性是只读的,一些属性是可以修改从而影响视频播放的. a ...

  4. 语义化npm版本号

    参考资料: 语义化版本2.0.0 the semantic versioner for npm 在package的devDependencies和dependencies2个字段中有指定依赖包版本,这 ...

  5. fscanf和fgets用法

    首先要对fscanf和fgets这两个文件函数的概念有深入的了解,对于字符串输入而言这两个函数有一个典型的区别是: fscanf读到空格或者回车时会把空格或回车转化为/(字符串结束符)而fgets函数 ...

  6. 查看linux连接进程占用的实时流量 -nethogs

    1.安装nethogs yum -y install nethogs 2.安装完成后,就可以执行命令 nethogs 3.实时查看进程流量,来个图显示 图中会显示当前的nginx产生的流量有多少都会清 ...

  7. 「NOIP2016」「P1850」 换教室(期望dp

    题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq i \leq n1≤ ...

  8. Father Christmas flymouse

    Father Christmas flymouse Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 3479   Accep ...

  9. WPF Get Multibinding Expression, Update Source,

    wpf 拿到某个control的multibinding以及其中每个Binding 1. 拿到multibinding      MultiBindingExpression mbe = Bindin ...

  10. requests模拟上传照片

    博客园相册管理中有上传照片的功能 现在通过requests库模拟上传图片功能 先手动上传图片,用Fiddler转包,查看到上传图片接口请求格式, ------WebKitFormBoundarySKZ ...