我很好奇Java的类和double的原始类型之间的性能差异.所以我创建了一个小基准测试,发现类类型比基本类型慢3x-7x.(在本地机器OSX上为3倍,在ideone上为7倍)
这是测试:
class Main {
    public static void main(String args[]) {
        long bigDTime, littleDTime;
        {
            long start = System.nanoTime();
            Double d = 0.0;
            for (Double i = 0.0; i < 1432143.341; i += 0.1) {
                d += i;
            }
            long end = System.nanoTime();
            bigDTime = end - start;
            System.out.println(bigDTime);
        }
        {
            long start = System.nanoTime();
            double d = 0.0;
            for (double i = 0.0; i < 1432143.341; i += 0.1) {
                d += i;
            }
            long end = System.nanoTime();
            littleDTime …我在玩 Room,在那里我找不到解决问题的方法。
下面是数据。
桌子
CREATE TABLE `Employee` (
    `id` INTEGER NOT NULL,
    `first_name` TEXT,
    `last_name` TEXT,
    PRIMARY KEY(`id`)
);
表格数据
实体
@Entity(tableName = "Employee")
public class Employee {
    @PrimaryKey
    private int id;
    @ColumnInfo(name = "first_name")
    private String firstName;
    @ColumnInfo(name = "last_name")
    private String lastName;
    ..Getters & Setters..
}
查询 1
@Query("Select * from Employee")
List<Employee> getEmployees();
结果 成功
查询 2
@Query("Select first_name, last_name from Employee")
List<Employee> getEmployees();
结果
错误:查询返回的列在 ***.Employee 中没有字段 [id],即使它们被注释为非空或原始。查询返回的列:[first_name, last_name]
如果我添加id到上面Query 2,它会起作用。
同样,如果我们 …
android android-sqlite android-room android-architecture-components
android ×1
android-architecture-components ×1
android-room ×1
class ×1
double ×1
java ×1
performance ×1
primitive ×1