zoukankan      html  css  js  c++  java
  • 替换空格

    在Java中String类是被final关键字修饰的类,因此String字符串是不可以被修改的,要修改字符串,可以通过StringBuilder和StringBuffer构造一个新的字符串。

    StringBuilder和StringBuffer这两个类也是被也是被final关键字修饰的,并且都是继承了AbstractStringBuilder类,都实现了Serializable, CharSequence接口,其中StringBuffer的方法是被synchronized关键字修饰的,而StringBuilder方法没有synchronized关键字修饰;StringBuffer由JDK1.0就有了,而StringBuilder到JDK1.5才有;因此可以说StringBuilder是为了当不需要考虑多线程安全的情况下可以代替StringBuffer而产生的。

    题解:因此把字符串转换为字符数组,当遇到空格字符的时候,就能够用要替换的字符串替换掉空格就可以了,StringBuffer和StringBuilder的append方法经过重写,可以往里面添加各种类型的数据。

    完整代码如下:

     1 /**
     2  * @author: wooch
     3  * @create: 2020/02/21
     4  */
     5 
     6 /**
     7  * 面试题05. 替换空格
     8  * 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
     9  */
    10 public class P05_ReplaceSpace {
    11     public String replaceSpace(String s) {
    12         if (s == null || s == "") {
    13             return s;
    14         }
    15         StringBuilder sb = new StringBuilder();
    16         for (char ch : s.toCharArray()) {
    17             if (ch == ' ') {
    18                 sb.append("20%");
    19             } else {
    20                 sb.append(ch);
    21             }
    22         }
    23         return sb.toString();
    24     }
    25 }
  • 相关阅读:
    汇编语言(王爽) 实验九
    汇编语言(王爽)实验十
    leetcode longest common prefix(easy) /java
    leetcode container-with-most-water(medium) /java
    jdbc 驱动设置
    天上的星星都洒在我身上(mysql重装失败指南)
    leetcode palindrome number(easy) /java
    异常处理
    递归函数
    序列化模块
  • 原文地址:https://www.cnblogs.com/baishouzu/p/12340824.html
Copyright © 2011-2022 走看看