小编rsa*_*mei的帖子

在Java 7中比较Object和int

我是一名高级解决方案架构师,但我最近偶然发现了一个让我停下来思考的问题......

对我来说,下面的代码总是应该触发错误,但当我的一位同事问我为什么Eclipse没有显示错误时,我无法回答任何问题.

class A {
    public static void main(String... args) {
        System.out.println(new Object() == 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经调查过,发现在源级别为1.6时确实会抛出一个错误:

incomparable types: Object and int
Run Code Online (Sandbox Code Playgroud)

但现在在1.7中编译好了.

请问,有哪些新功能可以保证这种行为?

java eclipse autoboxing compare java-7

15
推荐指数
1
解决办法
1321
查看次数

如何在 Diesel 中编写 GROUP BY 或 HAVING 子句?

我正在尝试将以下 SQL 查询转换为相应的 Rust Diesel 代码:

SELECT COUNT(*)
FROM BookStore
WHERE BookName IN ('Lord of the Rings', 'Hobbit')
GROUP BY StoreId
HAVING COUNT(DISTINCT BookName) = 2
Run Code Online (Sandbox Code Playgroud)

到目前为止我能够将其翻译为:

let bookNames = vec!["Lord of the Rings", "Hobbit"];

let subquery = bookStores::table
.select(count_star())
.filter(bookName.eq_any(bookNames));
Run Code Online (Sandbox Code Playgroud)

我相信这可以翻译为:

SELECT COUNT(*)
FROM BookStore
WHERE BookName IN ('Lord of the Rings', 'Hobbit')
Run Code Online (Sandbox Code Playgroud)

我无法找到GROUP BYHAVINGSQL 子句的任何 Diesel 等效项。Diesel 中是否存在这些条款?

group-by having rust rust-diesel

7
推荐指数
0
解决办法
1808
查看次数

为什么 `format_args!()` 会忽略截断?那么如何在没有分配的情况下截断呢?

为什么这样做?

fn main() {
    println!("{:.3}", "this is just a test");
}
Run Code Online (Sandbox Code Playgroud)

打印 => thi

虽然这没有?

fn main() {
    println!("{:.3}", format_args!("this is just a test"));
}
Run Code Online (Sandbox Code Playgroud)

打印 => this is just a test

这里是游乐场

对于更多的上下文,我对其背后的推理感兴趣,以及一种无需任何分配就可以做到的方法。

我正在用 Rust开发一个终端游戏,其中有一个write!显示有关渲染和游戏循环的一些统计信息,并且该文本可能很长。现在我读取了终端大小并相应地调整了它的输出,我需要截断该输出,但没有任何分配。当我重构这个时,我认为我非常聪明:

write!(
  stdout,
  "{} ({} {} {}) {}",
  ...
)
Run Code Online (Sandbox Code Playgroud)

进入这个:

write!(
  stdout,
  "{:.10}", // simulate only 10 cols in terminal.
  format_args!(
    "{} ({} {} {}) {}",
    ...
  )
)
Run Code Online (Sandbox Code Playgroud)

多么不幸,它不起作用……如何在不分配字符串的情况下做到这一点?

rust

0
推荐指数
1
解决办法
136
查看次数

标签 统计

rust ×2

autoboxing ×1

compare ×1

eclipse ×1

group-by ×1

having ×1

java ×1

java-7 ×1

rust-diesel ×1