Java中的System.lineSeparator()方法的作用


從方法名上可以得到,這是系統對象里的行分隔符,那么具體表示什么含義呢?

一、System類的概念
在API中system類介紹的比較簡單,我們給出定義,system中代表程序所在系統,提供了對應的一些系統屬性信息和系統操作。

注意,system類不能手動創建對象,因為構造方法被私有化(即被private關鍵字修飾),組織外界創建對象(即不能用new關鍵字生成一個對象)。System類中的都是靜態方法(static關鍵字修飾),類名訪問即可。在JDK中,有許多這樣的類。在 System 類提供的設施中,有標准輸入、標准輸出和錯誤輸出流;對外部定義的屬性和環境變量的訪問;加載文件和庫的方法;還有快速復制數組的一部分的實用方法。

二、System.lineSeparator()的源碼
從源碼中可以看出,System.lineSeparator()確實返回的是行分隔符,它會根據當前的電腦系統返回對應的行分隔符

/**
* Returns the system-dependent line separator string. It always
* returns the same value - the initial value of the {@linkplain
* #getProperty(String) system property} {@code line.separator}.
*
* <p>On UNIX systems, it returns {@code "\n"}; on Microsoft
* Windows systems it returns {@code "\r\n"}.
*
* @return the system-dependent line separator string
* @since 1.7
*/
public static String lineSeparator() {
return lineSeparator;
}

private static String lineSeparator;
三、System.lineSeparator()具體含義
從JDK源碼中可以得出:從JDK1.7(含)之后才開始有的這個方法,

在UNIX系統下,System.lineSeparator()方法返回 "\n"

在Windows系統下,System.lineSeparator()方法返回 "\r\n"

其實使用這個就實現了程序的跨平台運行,System.lineSeparator()方法會根據當前的系統返回對應的行分隔符。從而避免了你編寫的程序在windows系統上可以運行,linux/unix系統上無法運行的情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM