- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有 C#.net 背景,每当我有一个字符串时,我都会将它声明为 String.Empty
现在我正在查看一位同事的 Java 代码,他用这样的方法声明了他的字符串:
String myStr = null;
我不喜欢它,更糟糕的是,他在“IF” block 中为这些字符串赋值,它可能合格也可能不合格,然后在方法结束时他调用了 myStr.length()
在他们身上。
所以我的问题是 Java 中首选的方式是什么?您认为将它们定义为 String.Empty
还是将它们保留为 null
并在调用 之前执行
在他们身上?null
检查更好? .length()
最佳答案
通常,使用null
值不是一个好主意,尤其是当它们从一个方法返回或传递给另一个方法时。使用 Null Object pattern更好,在字符串的情况下,空对象是一个空字符串。通过始终避免空值,获得 NullPointerException 的可能性会变小,代码变得更易读(这在 Clean Code 第 7 章,第 110-112 页中有详细讨论)。
在 Java 中 String s = ""
不分配任何内存,因为 JVM 将驻留字符串文字,所以甚至没有性能差异(即使有,它将是过早的优化)。
关于java - 将字符串定义为 Null 或定义为空字符串更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730339/
我正在尝试用 Java 构建一个字符串,该字符串的长度最多为 3,最少为 1。 我正在根据整数数组的内容构建字符串,如果数组的内容为 -1,我想在字符串中输出一个空字符。否则字符串将包含整数的字符版本
我有一个类,其中有一个方法可以在字符串中包含 NUL 字符的情况下终止程序。具体表达是这样的: stringVar.indexOf('\u0000') < 0 这个字符串是通过 Scanner 从用户
我有一个 wchar_t 数组。我需要在数组中的特定位置添加一个 unicode 空字符。 wchar_t var1[100]; var1[79] = '\u0000'; 我尝试了上面的方法,但出现以
好吧,这听起来可能是重复的,但我已经尝试了所有可能性,例如 str.strip()、str.rstrip()、str.splitline (),还 if-else 检查像: if str is not
System.out.println("-----------------------------------------------------------"); System.out.pr
我有一个奇怪的问题。我从公司内部的许多不同应用程序接收数据,并将这些数据显示在网站上。根据发送数据的系统,数据本身可能在字符串中包含一些奇怪的字符。我的问题是我有一个用户可以搜索以允许其中包含此数据的
我遇到了 aSSL ,这似乎有几年历史了,想知道是否有人有其他“安全”AJAX 连接代码示例?显然,这不如使用 SSL 证书安全,但使用 null character SSL在那里进行攻击(最近针对
我有一个类似于以下内容的 pyspark 数据框: df = sql_context.createDataFrame([ Row(a=3, b=[4,5,6],c=[10,11,12], d='b
我有以下要执行的查询: MyModel.objects.annotate(current_name=Coalesce('nickname', 'name')).order_by('current_na
每当 rails 变量等于 nil(或者实际上每当我使用 rails 代码(参见第 3 个代码示例))时,我的 html 中就会得到一串空字符。 new.html.haml %h1.editable.
我是一名优秀的程序员,十分优秀!