小编Cub*_*fee的帖子

java中的字符串8内存较少

我得到了以下代码,我被问到哪个选项获得以下模式:

XXXX-XXXX-XXXX-2324

...

代码如下:

public class CCMark {

    public static String maskCC(String creditCard){

        String x = "XXXX-XXXX-XXXX-";
        //line 1
    }

    public static void main(String[] args) {
        System.out.println(maskCC("1234-5678-1234-2324"));
        System.out.println(maskCC("4567-5678-1234-5643"));
        System.out.println(maskCC("1234-5678-1234-4654"));
        System.out.println(maskCC("4567-5678-1234-5435"));
    }

}
Run Code Online (Sandbox Code Playgroud)

下面可以插入"第1行"的可能选项:

    A) 
    return x + creditCard.substring(15, 19);

    B) 
    StringBuilder sb = new StringBuilder(x);
    sb.append(creditCard, 15, 19);
    return sb.toString();
Run Code Online (Sandbox Code Playgroud)

我认为这里最好的选择,因为A和B为我们提供了相同的输出,是B,因为它使用的是StringBuilder,这意味着它的方法是可变的,因此它将使用比选项A更少的内存.

我错了吗?可能是这种特殊情况的选项A是最好的选择吗?

memory string stringbuilder memory-efficient java-8

5
推荐指数
1
解决办法
496
查看次数

运行Java字节码

我正在学习Java证书,我得到一个问题,我知道它可能是非常基本的.但是,我不确定:

问题:关于Java字节码的说法是什么?

a)它可以在任何平台上运行.
b)只有在为该平台编译时,它才能在任何平台上运行.
c)它可以在任何具有Java运行时环境的平台上运行.
d)它可以在任何具有Java编译器的平台上运行.
e)只有当该平台同时具有Java Runtime Environment和Java编译器时,它才能在任何平台上运行.

假设Java Runtime Environment是解释器,我认为(c)是正确的答案.

java bytecode

5
推荐指数
1
解决办法
1501
查看次数

在同一个StringBuilder实例上调用toString时输出不同

我正在测试Strings,我提出了以下代码:

public static void main(String[] args){
    StringBuilder sb1 = new StringBuilder("Cuba");
    String str1 = sb1.toString();
    // n1
    System.out.println(str1 == str2);
}
Run Code Online (Sandbox Code Playgroud)

n1如果我把:

String str2 = sb1.toString();
Run Code Online (Sandbox Code Playgroud)

我得到false.但是,如果我放置:

String str2 = str1;
Run Code Online (Sandbox Code Playgroud)

我得到true.

我不确定为什么会发生这种情况:两个代码都指的是同一个实例,因此,两个输出必须是true.

知道为什么两个输出都不同吗?我知道如何比较字符串,我只是对结果不同的原因感到好奇.

java string stringbuilder

4
推荐指数
1
解决办法
63
查看次数

解析字符串日期时间

我试图将字符串解析为日期时间.但是,我在运行时收到错误.

代码如下:

public static void main(String[] args) {
    String date = LocalDate
                  .parse("2015-11-29")
                  .format(DateTimeFormatter.ISO_DATE_TIME);
    System.out.println(date);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java datetime

1
推荐指数
1
解决办法
118
查看次数