当前位置: 首页 > news >正文

如何将字符串反转?

参考答案

  • 使用 StringBuilder 或 StringBuffer 的 reverse 方法,本质都调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现。(JDK1.8)
  • 不考虑字符串中的字符是否是 Unicode 编码,自己实现。
  • 递归

 1. public AbstractStringBuilder reverse() {}

 验证:

public class TestReverseString {public static void main(String[] args) {String str = "ABCDE";System.out.println(reverseString(str));System.out.println(reverseStringByStringBuilderApi(str));System.out.println(reverseStringByRecursion(str));}/*** 自己实现* @param str* @return*/public static String reverseString(String str) {if (str != null && str.length() > 0) {int len = str.length();char[] chars = new char[len];for (int i = len - 1; i >= 0; i--) {chars[len - 1 - i] = str.charAt(i);}return new String(chars);}return str;}/*** 使用 StringBuilder* @param str* @return*/public static String reverseStringByStringBuilderApi(String str) {if (str != null && str.length() > 0) {return new StringBuilder(str).reverse().toString();}return str;}/*** 递归* @param str* @return*/public static String reverseStringByRecursion(String str) {if (str == null || str.length() <= 1) {return str;}return reverseStringByRecursion(str.substring(1)) + str.charAt(0);}

String类的常用方法有哪些? 

String 类的常用方法: 

  • equals:字符串是否相同
  • equalsIgnoreCase:忽略大小写后字符串是否相同
  • compareTo:根据字符串中每个字符的Unicode编码进行比较
  • compareToIgnoreCase:根据字符串中每个字符的Unicode编码进行忽略大小写比较
  • indexOf:目标字符或字符串在源字符串中位置下标
  • lastIndexOf:目标字符或字符串在源字符串中最后一次出现的位置下标
  • valueOf:其他类型转字符串
  • charAt:获取指定下标位置的字符
  • codePointAt:指定下标的字符的Unicode编码
  • concat:追加字符串到当前字符串
  • isEmpty:字符串长度是否为0
  • contains:是否包含目标字符串
  • startsWith:是否以目标字符串开头
  • endsWith:是否以目标字符串结束
  • format:格式化字符串
  • getBytes:获取字符串的字节数组
  • getChars:获取字符串的指定长度字符数组
  • toCharArray:获取字符串的字符数组
  • join:以某字符串,连接某字符串数组
  • length:字符串字符数
  • matches:字符串是否匹配正则表达式
  • replace:字符串替换
  • replaceAll:带正则字符串替换
  • replaceFirst:替换第一个出现的目标字符串
  • split:以某正则表达式分割字符串
  • substring:截取字符串
  • toLowerCase:字符串转小写
  • toUpperCase:字符串转大写
  • trim:去字符串首尾空格
http://www.lryc.cn/news/42408.html

相关文章:

  • Linux内核IO基础知识与概念
  • paper文献和科研小工具
  • dfs和bfs能解决的问题
  • 静态通讯录,适合初学者的手把手一条龙讲解
  • 【你不知道的 CSS】你写的 CSS 太过冗余,以至于我对它下手了
  • Lesson 8.1 决策树的核心思想与建模流程
  • 【算法】FIFO先来先淘汰算法分析和编码实战
  • 二分查找——我欲修仙(功法篇)
  • Python 多线程
  • JVM笔记(九)选择合适的垃圾收集器
  • 二维图像处理到三维点云处理
  • leetcode 删除有序数组中的重复项
  • JVM学习.03 类加载机制
  • Celery使用:优秀的python异步任务框架
  • 第十四届蓝桥杯三月真题刷题训练——第 19 天
  • 类和对象 - 下
  • 【云原生】Linux基础IO(文件理解与操作)
  • CentOS 7 安装 mysql 8.0 客户端
  • Ubuntu下载、配置、安装和编译opencv
  • 第七讲 贪心
  • 数字藏品的未来及发展趋势
  • 值得记忆的STL常用算法,分分钟摆脱容器调用的困境,以vector为例,其余容器写法类似
  • java如何手动导jar包
  • 怎么防止SQL注入?
  • 【千题案例】TypeScript获取两点之间的距离 | 中点 | 补点 | 向量 | 角度
  • 堆叠注入--攻防世界CTF赛题学习
  • STM32 ADC+定时器+DMA+FFT
  • 用Node.js实现一个HTTP服务器程序(文件服务器)
  • Python实现人脸识别检测, 对美女主播照片进行评分排名
  • 【数据结构与算法】什么是双向链表?并用代码手动实现一个双向链表