小编Raj*_*jan的帖子

怎么跟过滤器有什么不同?

takeWhile()与Java 9中的filter()有何不同.它有什么额外的实用程序?

Stream.of(1,2,3,4,5,6,7,8,9,10).filter(i -> i < 4 )
        .forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

这可能是以下会做的

Stream.of(1,2,3,4,5,6,7,8,9,10).takeWhile(i -> i < 4 )
        .forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

那么这个新功能需要什么呢?

java java-stream java-9

12
推荐指数
2
解决办法
2431
查看次数

如何忽略从Rust函数返回的错误并继续执行?

当知道某些代码可能会抛出错误时,我们会使用try/catch块来忽略这些错误并继续.当错误不重要但我们只想记录它时,这样做:

try{
    int i = 1/0;
} catch( ArithmeticException e){
    System.out.println("Encountered an error but would proceed.");
} 
x = y;
Run Code Online (Sandbox Code Playgroud)

Java中的这种构造将继续执行x = y;.

我可以利用match这个或任何其他构造吗?

我确实看到了一个try!宏,但是如果方法的返回类型出现错误,它可能会返回Result.

我想在UT中使用这样的构造,以确保即使在发生错误之后它仍继续运行.

rust

7
推荐指数
1
解决办法
4018
查看次数

运行安装在 Debian 中的 Rust 二进制文件时如何传递 RUST_BACKTRACE=1?

当我使用货物运行二进制文件时,我可以选择按如下方式运行它 -

bash -c "RUST_BACKTRACE=1 cargo run --bin my_binary"
Run Code Online (Sandbox Code Playgroud)

当二进制文件出错时,这给了我一个堆栈跟踪。但是当我为同一个二进制文件创建一个 Debian 包时,我如何在失败时获得堆栈跟踪?

如果源代码是在 Rust 中实现的,是否也有某种方法可以在那里启用回溯?

编辑:

我使用以下命令为我的货物项目创建了一个 debian 包

cargo deb // Produces a my_binary.deb
Run Code Online (Sandbox Code Playgroud)

这个 my_binary.deb 然后可以安装在 Debian 机器上作为 -

 dpkg -i /tmp/my_binary*.deb || true \
 && apt-get -f -y install
Run Code Online (Sandbox Code Playgroud)

debian environment-variables backtrace rust rust-cargo

7
推荐指数
2
解决办法
8042
查看次数

如何在spring data jpa规范中将枚举作为字符串处理

尝试在数据库级别使用规范过滤数据。我有一个实体,另一个实体作为实例,其中实例变量类包含一个Emun字段。默认情况下,数据库中的枚举字段为字符串。

@Entity
public class Outer{

    @OneToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
    @JoinColumn(name = "current_status")
    private Status current;

    @OneToOne(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
    @JoinColumn(name = "past_status")
    private Status past;
...
...

@Entity
public class Status{

    @Enumerated(EnumType.STRING)
    @Column(name = "state")
    private State state;

    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid",strategy = "uuid2")
    @Column(name = "id")
    private String id;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "outer_id")
    private Outer outer;
Run Code Online (Sandbox Code Playgroud)

我已经static meta models为两个类创建了。

如何使用提供的枚举值(不是枚举实例)的子句创建一个Predicate匹配项?Statewhere inStrings

java enums hibernate jpa spring-data-jpa

6
推荐指数
1
解决办法
2181
查看次数

Rust中的BigInt或BigUint的大小是否有限制?

有没有限制的大小BigIntBigUintnum鲁斯特箱子?我看到在Java中,它的长度受整数上限的限制,Integer.MAX_VALUE因为它存储为数组int.

我确实通过了它的文档,但无法真正推断出我的答案

甲BigUint类型的值BigUint {数据:VEC(A,B,C)}表示数(A + B*big_digit :: BASE + C*big_digit :: BASE ^ 2).

big_digit::BASE 被定义为

pub const BASE: DoubleBigDigit = 1 << BITS
Run Code Online (Sandbox Code Playgroud)

BITS 反过来是32

那么BigInt是否在(a + b * 64 + c * 64^2)内部表现?

biginteger rust

6
推荐指数
1
解决办法
633
查看次数

使用 Docker 时如何在本地缓存 Rust 包?

当使用 Cargo 构建我的 Rust 项目时,每次触发时它都会下载并编译所有 crate cargo build

有没有办法缓存这些库并加速我的构建过程?

我在 Ubuntu 16.04 机器上运行它,并使用 Docker 来运行我的构建。我想需要一些安装目录来跨构建共享,这可以解决我的问题。

rust docker rust-cargo

5
推荐指数
0
解决办法
1293
查看次数

如何从不同的模块实例化公共元组结构(带有私有字段)?

我有一个模块,其中元组结构定义为:

#[derive(Clone, Default, Eq, Hash, PartialEq, PartialOrd)]
pub struct Id(Vec<u8>);
Run Code Online (Sandbox Code Playgroud)

我在另一个需要导入的模块中使用了这个结构。但是当我尝试将这个结构实例Id化为:

let mut id = Id(newId.as_bytes().to_vec()); //newId is a String
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误说:

由于私有字段,构造函数在此处不可见

如何公开未命名的字段(尽管在我的情况下不能公开,因为这是 API 的一部分)?还是有不同的方法来初始化这个结构?

struct rust

5
推荐指数
2
解决办法
2261
查看次数

为什么^ M会附加到git diff中所有更新的行中

我对源文件进行了一些更改。当我尝试使用diff时

git diff src/core/src/authentication.rs
Run Code Online (Sandbox Code Playgroud)

控制台上的差异已^M附加到我编辑的所有行。

+            Some(b) => {^M
+                Ok(b)^M
+            }^M
+        }^M
     }
Run Code Online (Sandbox Code Playgroud)

我在记事本中签出,看看是否可以在那里看到某些东西并清理干净,但是在尝试使用任何编码后都看不到。我在某处读到这是一个\r但不确定。无法在vim中替换/找到它。但是,这并非在我看到的所有文件中都会发生diff。为什么会这样呢?我想这不是我的源代码的一部分,而只与git有关。

编辑:我使用vim作为我的编辑器。

git git-diff

4
推荐指数
1
解决办法
112
查看次数

在运行时Hibernate/JPA更新Springboot属性

我需要更新spring.jpa.hibernate.ddl-auto我的一个测试类的配置.它应该保留为update除一个以外的所有类.

如何在Springboot管理会话时在运行时实现此目的?或者还有其他方法吗?我可以选择重新创建会话并在此处使用它,但不会手动管理会话.

java hibernate jpa spring-boot

3
推荐指数
1
解决办法
181
查看次数

可以将BigInteger截断为Rust中的i32吗?

在Java中,intValue()返回BigInteger实例的截断部分.我在Rust中写了一个类似的程序,但似乎没有截断:

extern crate num;

use num::bigint::{BigInt, RandBigInt};
use num::ToPrimitive;

fn main() {
    println!("Hello, world!");
    truncate_num(
        BigInt::parse_bytes(b"423445324324324324234324", 10).unwrap(),
        BigInt::parse_bytes(b"22447", 10).unwrap(),
    );
}

fn truncate_num(num1: BigInt, num2: BigInt) -> i32 {
    println!("Truncation of {} is {:?}.", num1, num1.to_i32());
    println!("Truncation of {} is {:?}.", num2, num2.to_i32());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

Hello, world!
Truncation of 423445324324324324234324 is None.
Truncation of 22447 is Some(22447).
Run Code Online (Sandbox Code Playgroud)

我如何在Rust中实现这一目标?我应该尝试转换String然后手动截断吗?这将是我最后的选择.

biginteger rust

2
推荐指数
1
解决办法
403
查看次数