第13天视频 String

本文深入探讨 Java 中 String 类的各种特性与方法,包括字符串创建、比较、操作及转换等实用技巧,帮助开发者更好地理解和使用字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. String类复写了Object类中的equals方法,该方法用于判断字符串是否相同

    String s1 = “abc”

String s2 = new String(“abc”)

s1==s2  false  s1.equals(s2)true 

s1在内存中有一个对象,s2在内存中有两个对象


2. 字符串的长度   int length()它是方法,数组中是属性没有括号

3. “ “ 是对象, null 是指向空

4.String的方法

判断

boolean isEmpty():判断长度是否为0

boolean startWith():字符串是否以指定内容开头

boolean endsWith():字符串是否以指定内容结尾

boolean equals():判断内容是否相同

boolean equalsIgnoreCase():判断内容是否相同,并忽略大小写

boolean contains(str):判断字符串中是否包含某一个字符串

indexOf(str):可查找str第一次出现的位置,返回-1不存在,也可用于指定判断是否包含,还能获取出现的位置

获取

int length():获取长度

char charAt(int index):根据位置获取该位置上的某个字符

int indexOf(int ch)

int indexOf(int ch,int fromIndex)

int indexOf(String str)

int indexOf(String str,int fromIndex)

int lastIndexOf(int ch)

转换

构造函数 String(char[ ])

String(char[ ] ,offset, count

静态方法 static String valueOf(char [ ])

char [ ] toCharArray();字符串转字符数组

Sring(byte[ ])字节数组转字符串

String (byte[ ]),offset ,count) 一部分转

byte[ ] getBytes() 字符串转为字节数组

static String valueOf(int)

static String valueOf(double)


3+“” 和String.valueOf(3)一样

字符串和字节数组在转换过程中,是可以指定编码表的


替换

String[ ] replace(oldchar,newchar);

切割

String[ ] split(regex);

子串

String substring(begin)

String substring(begin,end)

装换,去除空格,比较

StringtoUpperCase();

StringtoLowerCase();

String trim();

int compareTo(String);返回0相等



练习

class StringTest {
    public static void main(String[] args) {
        String s = "   ab cd   ";
        sop(s);
        // s = myTrim(s);
        // sop(s);
        sop(reverseString(s));
    }

    public static void sop(String str) {
        System.out.println(str);
    }

    //练习一,去除字符串两端的空格
    public static String myTrim(String str) {
        int start = 0;
        int end = str.length() - 1;
        while (start <= end && str.charAt(start) == ' ')
            start++;
        while (start <= end && str.charAt(end) == ' ')
            end--;
        return str.substring(start, end + 1);
    }

    //练习二,将字符串全部反转,及部分反转
    public static String reverseString(String s, int start, int end) {
        char[] chs = s.toCharArray();//字符串变为字节数组
        reverse(chs, start, end);//反转数组
        return new String(chs);//将数组变为字符串
    }

    public static String reverseString(String s) {
        return reverseString(s, 0, s.length());
    }

    private static void reverse(char[] arr, int x, int y) {
        for (int start = x, end = y - 1; start < end; start++, end--) {
            swap(arr, start, end);
        }
    }

    private static void swap(char[] arr, int start, int end) {
        char temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
    }
}



判断String中包含某个字符的次数

一、

string str = "sfsfluljslfnslafuensdfre";
string s="s";
int count= str.Length - str.Replace(s,"").Length;

二、

int count = 0;
string str = "sfsfluljslfnslafuensdfre";
foreach(char in str)
{
    if(c == 's')
    {
        count++;
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值