当前位置: 首页 > 面试题库 >

“ M”去哪了?

呼延辰龙
2023-03-14
问题内容

我对String Buffer玩了一点,并注意到混合使用char和String是一个坏主意。我希望我的以下代码可以打印“ Main”,但是只有一个“
ain”。

显然word是用字符串缓冲区构造函数的char版本初始化的,但是我测试了诸如toString或getIndex()之类的几种方法,但找不到“
ain”旁边的任何东西-这让我感到奇怪:构造函数做了什么?有用途吗?可以通过某种方式再次从单词中检索“ M”吗?

import java.util.Random;

public class OrNotPublicClass {
    private static Random rnd = new Random();

    public static void main(String[] args) {
        StringBuffer word = null;
        switch (rnd.nextInt(2)) {
        case 1:
            word = new StringBuffer('P');
        case 2:
            word = new StringBuffer('G');
        default:
            word = new StringBuffer('M');
        }
        word.append("ain");
        System.out.println(word);
    }
}

问题答案:

除了break问题外,这里的主要问题是如何初始化StringBuffer

没有构造函数接受a
char作为参数,但是有一个接受int能力作为a。

那就是您使用的那个…

你应该做:

word = new StringBuilder(); // not StringBuffer
// switch. Then:
word.append("ain");

(还请注意,使用of StringBuilder代替StringBuffer;后者仅在极少数需要线程安全的情况下有用)



 类似资料:
  • mysql锁怎么实现的 可重复读会有什么不好的地方 java怎么屏蔽cpu架构差异的(说了个英文我以为是java虚拟机内存布局,说我回答的不是一个东西) 线程池怎么确定核心线程数大小,有哪些依据 hashmap扩容,什么时候扩容(好像是负载因子 忘记了)为什么2的n次方(少回答了个,扩容时候作用)

  • 问题内容: 在batik的文档中,它显示了如何从类org.apache.batik.dom.svg.SVGDOMImplementation中获取DOM实现的实例。 但是,从同一站点下载Batik 1.8之后,我在任何地方都找不到此类。 我下载了1.7版本,并在batik-svg-dom.jar中找到了它,但它在1.8内的同一jar中不存在(或据我所知在该软件包中的任何jar中都不存在)。 此类已

  • 问题内容: 我正在运行Mac OSX Snow Leopard。 我一直使用Mac OSX的常规软件更新功能来更新Java。 我过去使用Java 工具取得了巨大的成功。 今天早上,我像往常一样键入命令行。我收到以下错误: 所有的其他Java工具(,,等)的工作就好了。 确实不包含(突然)。 产量: WTF? 问题答案: 似乎是链接的混合;/ usr / bin / jvisualvm符号链接指向不

  • ## 一面 40min 1. 自我介绍 2. 项目 3. Promise.all 4. 讲跨域 5. 代码输出 作用域。 6. var 和 const区别 7. 兄弟节点插入一个新的DOM节点,怎么做。 8. 事件委托绑定事件回调,怎么做 9. 使用ES6实现继承 10. 实现两边固定宽,中间自适应的布局(圣杯布局,flex) 11.判断一个数组中,如果某个索引对应的元素是数组或者数字,并且存在大

  • 介绍实习项目和实习业务 然后就是问mysql 接着一道重排链表,排成L1~Ln~L2~L(n-1),要原地算法,空间控制在O1。查中间节点用快慢指针,逆序遍历后半链表用链表反转 面试的时候🐖脑过载,非要用栈来逆序遍历,后面面试官说可以反转。多半挂了

  • 本文向大家介绍Linux下去掉^M的四种方法,包括了Linux下去掉^M的四种方法的使用技巧和注意事项,需要的朋友参考一下 第一种方法: cat -A filename 就可以看到windows下的断元字符 ^M 要去除他,最简单用下面的命令: dos2unix filename 第二种方法: 第三种方法:  第四种方法: 总结 以上所述是小编给大家介绍的Linux下去掉^M的四种方法,希望对大家