Android-常用java基础的实例之(String字符串操作)

常用String字符串操作方法:

https://blog.csdn.net/sinat_32194985/article/details/80349501

面试实例1:
实现一个public int indexOf(String mainStr,String subStr)方法,返回主串mainStr中首次出现子串subStr的位置,比如,主串是abcacb,子串是ac,返回值则是3(从0开始)

 public int indexOf(String mainStr, String subStr) {
        return mainStr.indexOf(subStr);
    }

面试实例2:
字符串“abcde”通过写一个函数不让调用第三方的字符串,实现一个字符串倒序,比如字符串“abcde” 变成“edcba”

 String src = "abcde";

String dst  =  new  StringBuffer(src).reverse().toString();

面试实例3:
写一个方法来判断一个String是否是回文(顺读和倒读都一样的词)?

分析:回文就是正反都一样的词,如果需要判断是否是回文,只需要比较正反是否相等即可。String类并没有提供反转方法供我们使用,但StringBuffer和StringBuilder有reverse方法。

private static boolean isPalindrome(String str) {
        if (str == null)
            return false;
        StringBuilder strBuilder = new StringBuilder(str);
        strBuilder.reverse();
        return strBuilder.toString().equals(str);
    }

拓展:假设面试官让你不使用任何其他类来实现的话,我们只需要首尾一一对比就知道是不是回文了。

private static boolean isPalindromeString(String str) {
        if (str == null)
            return false;
        int length = str.length();
        System.out.println(length / 2);
        for (int i = 0; i < length / 2; i++) {

            if (str.charAt(i) != str.charAt(length - i - 1))
                return false;
        }
        return true;
    }

String中"=="与equals()的区别:

https://blog.csdn.net/cjm2484836553/article/details/105119934/

String、StringBuffer、StringBuilder区别:

String:字符串常量 不适用于经常要改变值得情况,每次改变相当于生成一个新的对象
StringBuffer:字符串变量 (线程安全)
StringBuilder:字符串变量(线程不安全) 确保单线程下可用,效率略高于StringBuffer

详细见:
https://www.shiqidu.com/d/763 链接中的问题5

相关文章推荐:https://blog.csdn.net/yissan/article/details/78740674

未完待续。。。马上补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值