小编Ger*_*zas的帖子

为什么\ R在Java 8和Java 9之间的正则表达式中表现不同?

以下代码在Java 8和9中编译,但行为不同.

class Simple {
    static String sample = "\nEn un lugar\r\nde la Mancha\nde cuyo nombre\r\nno quiero acordarme";

    public static void main(String args[]){
        String[] chunks = sample.split("\\R\\R");
        for (String chunk: chunks) {
            System.out.println("Chunk : "+chunk);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我用Java 8运行它时,它返回:

Chunk : 
En un lugar
de la Mancha
de cuyo nombre
no quiero acordarme
Run Code Online (Sandbox Code Playgroud)

但是当我使用Java 9运行它时,输出是不同的:

Chunk : 
En un lugar
Chunk : de la Mancha
de cuyo nombre
Chunk : no quiero acordarme
Run Code Online (Sandbox Code Playgroud)

为什么?

java regex unicode java-8 java-9

77
推荐指数
2
解决办法
3179
查看次数

在Java 8中,转换Optional.empty中空String的Optional <String>

给定一个String我需要获得一个Optional,如果String为null或为空,则结果为Optional.empty.我可以这样做:

String ppo = "";
Optional<String> ostr = Optional.ofNullable(ppo);
if (ostr.isPresent() && ostr.get().isEmpty()) {
    ostr = Optional.empty();
}
Run Code Online (Sandbox Code Playgroud)

但肯定必须有一种更优雅的方式.

java optional java-8

42
推荐指数
3
解决办法
4万
查看次数

为什么AudioSystem.getMixerInfo()在sbt和Scala下返回不同的结果?

经过很多问题的隔离,我得到了这个片段:

object Snippet  {
    def main(args: Array[String]): Unit = {
        println("Snip demo:: "+ util.Properties.versionString)
        println(" jvm "+System.getProperty("java.version"))
        import javax.sound.sampled._
        val mixers : Array[Mixer.Info] = javax.sound.sampled.AudioSystem.getMixerInfo()
        println(" Numer of mixers: "+ mixers.size)
        for (mi : Mixer.Info <- mixers ) { 
            println("mixer info "+mi.getName) 
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,运行后的输出与运行时的输出sbt run不同scala:

$ sbt run
Loading /cygdrive/c/Program Files (x86)/sbt/bin/sbt-launch-lib.bash
[warn] The global sbt directory is now versioned and is located at         ....
[warn]   You are seeing this warning because there is …
Run Code Online (Sandbox Code Playgroud)

audio scala sbt

9
推荐指数
1
解决办法
549
查看次数

标签 统计

java ×2

java-8 ×2

audio ×1

java-9 ×1

optional ×1

regex ×1

sbt ×1

scala ×1

unicode ×1