相关疑难解决方法(0)

StringBuilder vs Java中toString()的字符串连接

鉴于toString()下面的两个实现,首选哪一个:

public String toString(){
    return "{a:"+ a + ", b:" + b + ", c: " + c +"}";
}
Run Code Online (Sandbox Code Playgroud)

要么

public String toString(){
    StringBuilder sb = new StringBuilder(100);
    return sb.append("{a:").append(a)
          .append(", b:").append(b)
          .append(", c:").append(c)
          .append("}")
          .toString();
}
Run Code Online (Sandbox Code Playgroud)

更重要的是,鉴于我们只有3个属性,它可能没有什么区别,但你会在什么时候从+concat 切换到 StringBuilder

java string performance stringbuilder concatenation

889
推荐指数
12
解决办法
34万
查看次数

将电话号码存储为字符串时,如何防止输入错误?

我正在创建一个可以读取VCards的电话簿程序.问题在于电话号码.通常,它们在美国会是这样的:

0771234560

但如果电话号码来自外国,则看起来像这样.

+94771234560 或者可能 (22)772324000

现在有+()迹象来处理!我目前正在将电话号码(VCards包含它们作为字符串)转换为数字.但是,如果我将允许的电话号码作为字符串,那么用户可以做一些疯狂的事情,比如在联系表单中插入姓名作为电话号码.

如何将电话号码存储为字符串,但可以防止有问题的条目?

java string validation integer vcf-vcard

4
推荐指数
2
解决办法
4343
查看次数

java 基于模式的格式化字符串

我有这样的需求。我的代码生成随机字符串,它可以是字母、数字和字母数字。

假设其中一个数字字符串是“7882347812”。我想根据 3chars.3chars.4chars 等模式将其格式化为 788.234.7812

如果它是字母数字的,例如“h34jh8we7k”。然后根据 2chars/4chars/4chars 等模式将其格式化为 h3/4jh8/we7k。

如果它是像“jkythjyv”这样的阿尔法。然后根据 3chars$3chars$2chars 等模式将其格式化为 jky$thj$yv。

一般来说,生成的字符串可以包含字符[a-zA-Z0-9]。这应该按照我上面提到的任何特殊字符进行格式化。输入应该是字符串和格式化程序,输出应该是格式化的字符串。即使是自定义格式化程序也可以。

我知道如何为此编写代码。Java 有没有标准的方法来做到这一点?

java regex formatting

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