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 }
  • 相关阅读:
    EF生成的SQL语句执行顺序问题。
    关于scope_identity()与 @@IDENTITY
    按条件设置gridcontrol 单元格属性
    DevExpress gridcontrol Master-Detail绑定到对象类型
    dev ChartControl 备忘
    gridcontrol 图片列异步加载
    关于EmitMapper,映射配置
    asp.net Hessian 服务的注册
    XtrasReport 标签打印
    Devexpress + wcf +ef 批量更新处理
  • 原文地址:https://www.cnblogs.com/baishouzu/p/12340824.html
Copyright © 2011-2022 走看看