本文主要是介绍逆序遍历字符串(不改变内存地址),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:逆序遍历字符串"ABCDEFG"
实现思路:
使用StringBuilder创建对象,因为String字符串是不可变的,而StringBuilder内部的方法没有被final关键字修饰,所以将s1的字符串内容传给StringBuilder创建的对象ret1和ret2,内容就可以被改变,而s1的内存地址不会改变。
代码实现:
package com.ztt.Demo01;public class demo17 {public static void main(String[] args) {String s1="ABCDEFG";//方式1:逆序遍历,追加拼接至可变字符串的尾部StringBuilder ret1=new StringBuilder();for(int i=s1.length()-1;i>=0;i--) {char c=s1.charAt(i);ret1.append(c);//当前字符串拼接在字符串尾部}System.out.println(ret1);//方式2:StringBuilder ret2=new StringBuilder();ret2.reverse();//逆序System.out.println(ret2);}}
输出结果:
GFEDCBA
源码分析:
题目:逆序遍历字符串“我本将心照明月”
实现思路:
方式1:使用逆序遍历
方式2:使用顺序遍历
public class demo08 {public static void main(String[] args) {// TODO Auto-generated method stubString s="我本将心照明月";//保存逆序字符String ret="";//方式1:逆序for(int i=s.length()-1;i>=0;i--) {ret=ret+s.charAt(i);}System.out.println(ret);//方式2:顺序ret="";for(int i=0;i<s.length();i++) {ret=s.charAt(i)+ret;}System.out.println(ret);}}
输出结果:
月明照心将本我
月明照心将本我
这篇关于逆序遍历字符串(不改变内存地址)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!