【发布时间】:2014-08-29 10:43:38
【问题描述】:
我正在实现 toString 方法(Android),我需要连接对象中的所有字段
对于 Java (JDK),我可以这样做:
@Override
public String toString() {
return "{_id=" + _id +
", name=" + name +
"}";
}
在后台,Java 编译器将使用 StringBuilder 为我构建字符串连接,因此我不必显式使用 StringBuilder。
我的问题是:我可以在 ANDROID 代码中使用这种实现方式吗?或者我必须明确使用 StringBuilder? 我不知道 Android 编译器在这种情况下是如何工作的。
有人有什么想法吗?谢谢!
【问题讨论】:
-
你试过在 Android 中这样做吗?是一样的。
-
是的..你可以以同样的方式使用它..
-
这看起来你正在构建一个 SQL 查询字符串。在这种情况下,不要使用它。使用绑定变量。使用这种方法有 SQL 注入 bug 的风险,而且它也不能让 db 优化。
-
如果您正在构建 SQL 字符串,请提醒:
", name=" + name + "}";应为", name='" + name + "'}";(用撇号包围您的字符串)。但是,正如@GabeSechan 正确指出的那样,最好绑定您的参数。 -
@GabeSechan,@Frank N. Stein:我不是在构建动态 SQL。我正在实现 toString 对象。您适合 SQL 查询生成器。
标签: java android string string-concatenation