2012-02-10 1 views

答えて

20
scala> import util.Properties 
import util.Properties 

scala> Properties.lineSeparator 
res14: java.lang.String = 
" 
" 
1

両方scala.util.Properties.lineSeparatorSystem.lineSeparatorは、同じ仕事を行います。

System.lineSeparatorは直接システムの小道具でプロパティを見つけるために持っているJavaメソッドを呼び出します。ここでは

lineSeparator = props.getProperty("line.separator"); 

は結果である:

scala> System.lineSeparator 
res0: String = 
" 
" 

それが見つからない場合は、Javaの小道具をデフォルトにフォールバックします。

同様に、​​が呼び出されます:

最終的に呼び出します
def lineSeparator = propOrElse("line.separator", "\n") 

System.getProperty(name, alt) 

結果は同じです。

scala> scala.util.Properties.lineSeparator 
res2: String = 
" 
" 

だから彼らの両方がJava小道具からラインセパレータを得ます。唯一の違いは、彼らがデフォルトをどのように得るかです。私はなぜそれがこのように実装されているのか分からない:)。この場合、Javaが正しいデフォルトを持つとは信じられないようです。

関連する問題