1.利用StringBuffer里的reverse()方法

  • 虽然String和StringBUffer都能操作字符串,但是不属于同一个类,不能直接兼容
  • StringBuffer()将String类型的str转换为StringBuffer,方便调用reverse()方法。
  • toString()将StringBuffer类型转换为String类型

2.最快的方式StringBuilder

  • StringBuffer和StringBuilder都继承自属于同一个类,用法相同。
  • 它和StringBuffer本质上没什么区别,就是去掉了保证线程安全的那部分,减少了开销。

总结:

1、在字符串不经常发生变化的业务场景优先使用String(代码更清晰简洁)。如常量的声明,少量的字符串操作(拼接,删除等)。

2、在单线程情况下,如有大量的字符串操作情况,应该使用StringBuilder来操作字符串。不能使用String"+"来拼接而是使用,避免产生大量无用的中间对象,耗费空间且执行效率低下(新建对象、回收对象花费大量时间)。如JSON的封装等。

3、在多线程情况下,如有大量的字符串操作情况,应该使用StringBuffer。如HTTP参数解析和封装等。

3.递归

 public static String reverse(String s) {int length = s.length();          if (length <= 1)             return s;         String left = s.substring(0, length / 2);String right = s.substring(length / 2, length);   String afterReverse = reverse(right) + reverse(left);         return afterReverse;      }

Java--字符串反转函数相关推荐

  1. Java字符串反转函数reverse()

    Java字符串反转函数reverse() package test1;public class TestReverse {public static void main(String[] args) ...

  2. 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET

    编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET 编写字符串反转函数 分类: 笔试面试题 2010-11-07 20:47 863人阅读 评论(0) 收藏 举报 首先用 ...

  3. java字符串反转方法【全】

    搜集的java字符串反转方法,一般用于面试,项目中用的很少··· package com.wsheng.aggregator.algorithm.string;import java.util.Sta ...

  4. 编写字符串反转函数 .

    首先用数组下标的形式实现: 提供三种方法: 1.有中间变量 2.无中间变量 3.堆栈实现 #include <stdio.h>     #include <string.h> ...

  5. php字符串反转函数_PHP | 反转给定的字符串而不使用库函数

    php字符串反转函数 Given a string and we have to reverse it without using a library function. 给定一个字符串,我们必须不使 ...

  6. Java字符串反转常用的2种方式

    Java字符串反转常用的2种方式 1.利用StringBuilder封装的reverse()方法 2.利用数组进行反转 ①先将字符串转换为char类型的数组 ②对char类型数组进行反转 public ...

  7. 用C语言实现字符串反转函数strrev的经典方法

    字符串反转函数strrev不是C语言标准库函数,很多C语言编译器并没有提供对它的支持,比如你在Linux下输入Shell命令man 3 strlen,屏幕上会显示, STRLEN(3) Linux P ...

  8. 实现java字符串反转的三种方法

    实现java字符串反转的三种方法 1.问题描述:将字符串String="abcdefg"实现反转变成 "gfedcba":用java语言实现. 2.解决方法: ...

  9. java字符串反转(java字符串反转义)

    java中如何将字符串反转? package string; public class StringTest3 { public static void main(String[] args) Str ...

  10. java字符串反转有哪些方法呢?

    java中字符串反转是一个常见的题目,那么今天来总结一下在java中反转字符串的方法到底有哪些: 1.使用java库函数中的方法reverse() private static String reve ...

最新文章

  1. win7中VS2010中安装CSS3.0问题解决方法
  2. pyspark subtract代码示例
  3. python中print怎么用_python的print怎么用
  4. BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
  5. Qt5学习笔记之串口助手四:增加16进制/ASCII切换、周期发送
  6. 最大对称字符串的长度
  7. HSPA+系列之“下行增强F-DPCH +下行增强CELL_FACH
  8. 【语音识别】基于matlab MFCC+SVM特定人性别识别【含Matlab源码 533期】
  9. 实现应用于AlphaGo得增强式学习算法,代码实现1
  10. linux 下配置jdk环境变量
  11. ScreenFlow 录制Mac电脑声音
  12. 运维高手的36项修炼_管理员工36项修炼
  13. WIN10环境下配置hadoop+spark并运行实例的教程
  14. 微信引流软件哪里找?哪个引流软件比较可靠?
  15. 论文阅读:3D multi-scale, multi-task, and multi-label deep learning for prediction of lymph node metasta
  16. 豆瓣电影(一):网络爬虫
  17. COM学习(三)——COM的跨语言
  18. python正则表达式,向前向后查找与回溯引用
  19. vue.js如何连接打印机
  20. 动物鸿蒙的图片,自然界五种秃顶动物:红色秃猴和皮包猪(图)

热门文章

  1. 如何解决LabView的Active X容器中无Animation GIF Control问题
  2. 倒计时代码(用户输入秒数直接转换为时分秒)
  3. 在CSDN设置“关注博主即可阅读全文”方法增加粉丝量超简单
  4. 解读CUDA Compiler Driver NVCC - Ch.2 - Compilation Phases
  5. 美国拟发布纽扣电池或硬币电池安全标准和通知要求ANSI C18. 3M
  6. jupyter 安装插件rise,变为幻灯片PPT格式
  7. 新员工碰到新问题 公司论坛帮解决
  8. 二分查找法及其四种变形(MATLAB)
  9. sql 累计占比_sql中查询占百分比percent和通配符的使用
  10. 交换机半双工通信测试