String类概述

字符串是由多个字符组成的一串数据
字符串可以看成是字符数组

构造方法

public String(String original)
public String(char[] value)
public String(char[] value,int offset,int count)
直接赋值也可以是一个对象

注意:字符串是比较特殊的引用类型,直接输出该字符串对象打印的不是地址值而是该对象的值.

两个string不能用==判断是否相等,因为引用数据类型比较的是引用数据类型的地址值是否相等.

        String s1 = new String("hello");
String s2 = "hello"; System.out.println("s1:"+s1);
System.out.println("s2:"+s2); System.out.println("s1==s2:"+(s1==s2)); //false String s3 = "hello";
System.out.println("s1==s3:"+(s1==s3)); //false
System.out.println("s2==s3:"+(s2==s3)); //true

代码的内存图如下

字符串的内容是存储在方法区的常量池里面的,是为了方便字符串的重复使用.

当用new String()时,堆中的string对象值为常量池中字符串的地址,string变量存的是堆中对象的地址.

当直接赋值时,strig变量的值为常量池中字符串的地址.

String类的判断功能

boolean equals(Object obj)
boolean equalsIgnoreCase(String str)
boolean startsWith(String str)
boolean endsWith(String str)

String类的获取功能

int length()
char charAt(int index)
int indexOf(String str)
String substring(int start)
String substring(int start,int end) //包括左边的不包括右边的

String类的转换功能

char[] toCharArray()
String toLowerCase()
String toUpperCase()

String类的其他功能

去除字符串两端空格
String trim()
按照指定符号分割字符串
String[] split(String str)

StringBuilder类概述

我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuilder就可以解决这个问题

StringBuilder是一个可变的字符串。字符串缓冲区类。

String和StringBuilder的区别:String的内容是固定的.StringBuilder的内容是可变的.

StringBuilder类的常用方法

添加功能
public StringBuilder append(任意类型)
反转功能
public StringBuilder reverse()

StringBuilder和String相互转换

StringBuilder-->String:   stringBuilder.toString();

String-->StringBuilder:   new StringBuilder(str);

Java基础-String和StringBuilder类型(11)的更多相关文章

  1. Java基础 -- String,StringBuilder,StringBuffer三者的区别

    结论 1-String,StringBuilder,StringBuffer 之间的区别主要是在两个方面,即运行速度和线程安全这两方面: 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:St ...

  2. Java基础 String/StringBuff/StringBuilder 常用操作方法复习/内存分析/三者的效率比较

    附:jdk1.8使用IDEA安装.创建.使用JUnit单元测试 笔记总结: /**String 复习 * 1.像C++这样的char arr[]="..." 的方式无法声明Java ...

  3. 探秘Java中String、StringBuilder以及StringBuffer

    探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...

  4. Java中String转换Double类型 Java小数点后留两位

    Java中String转换Double类型 double num1 = 0.0; String qq = "19.987"; num1 = Double.valueOf(qq.to ...

  5. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  6. Java基础String的方法

    Java基础String的方法 字符串类型写法格式如下: 格式一: String 变量名称; 变量名称=赋值(自定义或传入的变量值); 格式二: String 变量名称=赋值(自定义或传入的变量值); ...

  7. Java基础教程:枚举类型

    Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...

  8. Java基础 String 裸暴力算法- 五个小练习

      之间的博客,承上启下:    Java基础 String/StringBuff 常用操作方法复习/内存分析 Java数组直接选择排序.sort()排序 Java基础 String 算法 - 五个练 ...

  9. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

随机推荐

  1. Java设计模式应用——组合模式

    组合模式实际上是一种树形数据结构.以windows目录系统举例,怎么样用java语言描述一个文件夹? 定义一个文件夹类,文件夹类中包含若干个子文件类和若干个文件类. 进一步抽象,把文件夹和文件都看做节 ...

  2. Linux基础命令---ar

    ar ar指令可以创建.修改库,也可以从库中提取单个模块.库是一个单独的文件,里面包含了按照特定结构组织起来的其他文件,我们称作member.归档文件通常是一个二进制文件,我们一般将归档文件当作库来使 ...

  3. mysql explicit_defaults_for_timestamp 变量的作用

    mysql 中有这样的一个默认行为,如果一行数据中某些列被更新了,如果这一行中有timestamp类型的列,那么么这个timestamp列的数据 也会被自动更新到 更新操作所发生的那个时间点:这个操作 ...

  4. 01: 重写Django admin

    目录: 1.1 重写Django admin项目各文件作用# 1.2 重写Django admin用户认证 1.3 将要显示的表注册到我们自己的kind_admin.py中 1.4 项目首页:显示注册 ...

  5. 探索Java8:Stream的使用

    Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达 ...

  6. noip杂题题解

    这道题没有什么可说的,先统计,然后几次快排,答案就出来了 Code(整齐但不简洁的代码) #include<iostream> #include<cstdio> #includ ...

  7. C#工程详解

    转:https://www.cnblogs.com/zhaoqingqing/p/5468072.html 前言 写这篇文章的目地是为了让更多的小伙伴对VS生成的工程有一个清晰的认识.在开发过程中,为 ...

  8. python_实现发送邮件功能

    #!/usr/bin/env python #-*- coding:utf-8 -*- from email import encoders from email.header import Head ...

  9. Delphi XE5 for Android (三)

    在VCL下,常用的询问对话框包括 procedure TfrmMainVCL.btnAppMessageboxClick(Sender: TObject); begin   if Applicatio ...

  10. JavaScript:正则表达式 应用

    1. var data = "<table id=\"test\"><tr class=\"light\"><td> ...