重构 Java 以获得字符串长度

refactoring Java to get string length

我从 Java 开始,并试图找到一种巧妙的方法来重构下面的代码,以便我可以将 firstName 变量设置为字符串,并在同一行中获取和设置firstNameLength 作为整数的字符串长度。

String firstName = "Boris";
int firstNameLength = firstName.length();

我一直在尝试以下代码的变体,但无济于事!

int newAge = String firstName = "Boris".length();

您不能声明 2 个新变量,但是 firstName 的赋值是可能的。

String firstName;
int newAge = (firstName = "Boris").length();

(你可以把两者放在同一行)。

不过,我怀疑是否有人会认为这比

更具可读性
String firstName = "Boris";
int newAge = firstName.length();

并且没有其他好处。

您无法在一条语句中 delcare 两个不同类型的变量。

所以你仍然坚持 2 个语句。所以你可以像这样把它放在一行中:

String name; int length = (name= "Boris").length();

但说真的,有什么意义呢?

我想如果你想让你的代码更精简,你应该考虑为什么你首先需要一个额外的变量来保存长度 - 如这总是可以在以后计算。所以你保持冗余信息。

实际上另一种解决方案是按以下方式使用 StringUtils

int length = StringUtils.length("Boris");

但这与 Apache Common 包一起提供。