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

本文目录

一、System类的概念

二、System.lineSeparator()的源码

三、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 "
"}; on Microsoft
     * Windows systems it returns {@code "
"}.
     *
     * @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()方法返回 " "

在Windows系统下,System.lineSeparator()方法返回 " "

其实使用这个就实现了程序的跨平台运行,System.lineSeparator()方法会根据当前的系统返回对应的行分隔符。从而避免了你编写的程序在windows系统上可以运行,linux/unix系统上无法运行的情况。

 

 

完结!

原文地址:https://www.cnblogs.com/no8g/p/13415469.html