gpt4 book ai didi

java - 为什么使用 SQLite 的 Constants 接口(interface)来保存字段名称?

转载 作者:行者123 更新时间:2023-12-01 14:28:31 25 4
gpt4 key购买 nike

在《Hello, Android》的 SQLite 章节中,创建了一个接口(interface) Constants 来保存一些常量字符串:表名和字段名。

为什么?使用 TITLE 比直接使用 "title" 有何用处?我还有什么遗漏的吗?

顺便问一下:如果我需要两个表,应该如何组织?我应该制作 FirstTableConstantsSecondTableConstants 接口(interface)吗?

最佳答案

如果您要多次使用某个字符串,最好为其创建一个常量。它可以防止多次创建字符串。对象分配不是免费的,因此您会看到一些性能提升。

考虑在循环中创建字符串的情况。

for(int i=0;i<n;++i){
System.out.println("title");
}

与使用常量:

for(int i=0;i<n;++i){
System.out.println(TITLE);
}

如果分配字符串“title”需要 1 毫秒,则第一个循环代码的运行时间为 N X 1 毫秒。

此外,使用常量构建 SQL 语句比为类型(文本、整数)修饰符(唯一、非空)等的语句关键字重复创建新字符串要快。

 String TABLE_SCHEMA = "(" +
ID + " integer primary key autoincrement, " +
COL_FOO1 + " text, " +
COL_FOO2 + " text, " +
COL_FOO3 + " text, " + ...

如果您将“text”设为常量,您就不会一遍又一遍地创建该字符串,因此您的 TABLE_SCHEMA 字符串的创建速度会更快。

 String TABLE_SCHEMA = "(" +
ID + " integer primary key autoincrement, " +
COL_FOO1 + TYPE_TEXT +
COL_FOO2 + TYPE_TEXT +
COL_FOO3 + TYPE_TEXT + ...

关于java - 为什么使用 SQLite 的 Constants 接口(interface)来保存字段名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com