重构 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 包一起提供。
我从 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 包一起提供。