自动选择复选框显然会禁用我对 Gradle 版本的选择。但是 IntelliJ 在选择 Gradle 版本时会做什么呢?
- 它在哪里找到 Gradle 版本?那些捆绑在 IntelliJ 中的版本——那不是只有一个版本吗?还是它会考虑我在机器上手动安装的 Gradle?
- IntelliJ 根据什么规则选择特定的 Gradle?
?
我尝试点击左下角的问号图标 ( )。但该文档缺少这些细节。
我代表一组海龟,每只海龟都有孵化的时刻。我想随机选择任何一只成熟的海龟。
在这个水族馆模拟中,我假装几分钟就是几年。
record Turtle(
String name ,
Instant hatched ,
Duration lifespan
)
{
static final Duration MATURITY = Duration.ofMinutes ( 4 );
Duration age ( ) { return Duration.between ( this.hatched , Instant.now ( ) ); }
}
我用来ThreadLocalRandom
生成一个随机整数。我使用这些整数作为我的对象IntStream
的索引。我检查那只海龟的年龄,看它是否超过了预定义的持续时间。如果没有成熟,就让流继续。List
Turtle
MATURITY
当然,可能还没有海龟成熟。所以我将返回类型定义为Optional < Turtle >
,如果没有找到海龟,则为空。
问题是我的流似乎失败了,没有返回任何结果。为什么?
public class Aquarium
{
public static void main ( String[] args )
{
System.out.println ( "INFO Demo start. " + Instant.now ( ) );
// Sample data.
List < Turtle > turtles =
List.of (
new Turtle ( "Alice" , Instant.now ( ).truncatedTo ( ChronoUnit.MINUTES ).minus ( Duration.ofMinutes ( 3 ) ) , Duration.ofMinutes ( 17 ) ) ,
new Turtle ( "Bob" , Instant.now ( ).truncatedTo ( ChronoUnit.MINUTES ).minus ( Duration.ofMinutes ( 2 ) ) , Duration.ofMinutes ( 16 ) ) ,
new Turtle ( "Carol" , Instant.now ( ).truncatedTo ( ChronoUnit.MINUTES ).minus ( Duration.ofMinutes ( 1 ) ) , Duration.ofMinutes ( 18 ) ) ,
new Turtle ( "Davis" , Instant.now ( ).truncatedTo ( ChronoUnit.MINUTES ).minus ( Duration.ofMinutes ( 2 ) ) , Duration.ofMinutes ( 22 ) )
);
System.out.println ( "turtles = " + turtles );
// Logic
Optional < Turtle > anArbitraryMatureTurtle =
ThreadLocalRandom
.current ( )
.ints ( 0 , turtles.size ( ) )
.filter (
( int randomIndex ) -> turtles.get ( randomIndex ).age ( ).compareTo ( Turtle.MATURITY ) > 0
)
.mapToObj ( turtles :: get )
.findAny ( );
System.out.println ( "anArbitraryMatureTurtle = " + anArbitraryMatureTurtle );
// Wrap-up
try { Thread.sleep ( Duration.ofMinutes ( 30 ) ); } catch ( InterruptedException e ) { throw new RuntimeException ( e ); } // Let the aquarium run a while.
System.out.println ( "INFO Demo end. " + Instant.now ( ) );
}
}
IntelliJ 有一个功能,(a)你选择一行的一部分,然后(b)IntelliJ 立即自动突出显示恰好存在于同一文件中多行类似代码的相同文本。
假设 IntelliJ 已经识别出重复的文本,有没有办法同时在所有这些行上输入或粘贴重复的文本?
IntelliJ 向我展示了所有重复内容,然后让我在每一行上进行复制-粘贴-粘贴-粘贴-粘贴,这似乎很愚蠢。