[JAVA笔记]-基础-String s = new String("abc")创建了几个对象

String s = new String("abc")创建了几个对象

String的数据类型

  • 数据类型:
    • 基本数据类型:byte, short, int, long, float, double, char, boolean;
    • 引用数据类型:类, 数组, 接口;
  • String是一个类, 所以是引用数据类型, 因为String被final修饰, 所以不能被继承;

String常用方法

public boolean equals(Object obj):比较字符串的内容是否相同
 	System.out.println(s.equals("abcd"));
 	System.out.println(s.equalsIgnoreCase("abcd"));
public int Length():获取字符串的长度,其实也就是字符个数
	System.out.println(s.length());
public boolean contains(String s):判断是否包含传入的字符串,包含true,不包包含返回false
 	System.out.println(s.contains("ac"));
public String substring(int start):从start开始截取字符串 // 方法的返回值值截取后的字符串
	System.out.println(s.substring(1));
public String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end ,如果end传入的是字符串最大索引+1的话则不会报出索引越界异常
 	System.out.println(s.substring(日, 3));
public String toLowerCase():把字符串转换为小写字符串
 	System.out.println(s.toLowerCase());
public String toUpperCase():把字符串转换为大写字符串
 	System.out.println(s.toUpperCase());
public String[] split(String str):根据传入的字符串切割屬字符中,返回的是字符串数组注意:如果切割的是.或者其他符号的话需要加上转义字符:s.split("\\.");
	String s = "ab cb cd";
	String[] strs = s.split(" ");
	System.out.println(Arrays.toString(strs));

Java中的内存分配?.

  • 栈内存:存储的是局部变量,局部变量指的是定义在方法中的变量,在变量使用完毕编译器会自动释放内存,操作方式类似于数据结构的栈,也就是先进后出.
  • 堆内存:存储的是 new 出来的对象也可以叫做实体,由程序员释放内存,若程序员不释 放,程序结束时可能由OS回收.
  • 静态区:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和末初始化的静态变量在相邻的另一块区域(BSS)。 -程序结束后由系统释放.
  • 常量池:字符串存储的区域。 程序结束后由系统释放
  • 程序代码区:存放函数体的二进制代码.

String 创建对象有什么特点?.

String s=new String("abc"),创建 StringObject分为两种情况:

  • 如果 String 常理池中,已经创建"abc",则不会继续创建,此时只创建 了一个对象 new String("abc")
  • 如果 String 常理池中,没有创建"abc",则会创建两个对象,一个对象 的值是“abc”,一个对象 new String("abc")。

应用场景

String 它被用于裁剪,拼接。搜索字符串,比较字符串,截取字符串,转换大 小写等。在项目中不经常发生变化的业务场景中,优先使用 String。

  • 举例:
    • 如果用户进行登录,需要验证用户名和密码,那么我们就可以使用 equals方法进行判断,用户所输入的用户名和密码是否存在·
    • 如果用户登录中需要填写验证码,那就可以使用 equalslgnoreCase方法,因为验证码大小写都是可以的equalslgnoreCase是忽略大小写比较.
Java  jvm  String 
更新时间:2019-10-18 15:18:11

本文由 Alicyu 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://www.alicyu.com/archives/String
最后更新:2019-10-18 15:18:11

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×