SF
风继续吹
风继续吹
注册登录
关注博客
注册登录
主页
关于
RSS
Java™ 教程(命令行I/O)
博弈
2019-01-12
阅读 3 分钟
2.1k
标准流是许多操作系统的一个特性,默认情况下,它们从键盘读取输入并将输出写入显示器,它们还支持文件和程序之间的I/O,但该功能由命令行解释器控制,而不是程序。
Java™ 教程(格式化流)
博弈
2019-01-12
阅读 3 分钟
2.2k
你可能需要的唯一PrintStream对象是System.out和System.err(有关这些对象的更多信息,请参阅命令行中的I/O),当你需要创建格式化的输出流时,请实例化PrintWriter,而不是PrintStream。
Java™ 教程(扫描)
博弈
2019-01-12
阅读 2 分钟
1.7k
编程I/O通常涉及转换人们喜欢使用的整齐格式的数据,为了帮助你完成这些工作,Java平台提供了两个API,扫描器API将输入分解为与数据位相关联的单个标记,格式化API将数据组装成格式良好、可读的形式。
Java™ 教程(缓冲流)
博弈
2019-01-12
阅读 1 分钟
2.3k
到目前为止,我们看到的大多数示例都使用无缓冲的I/O,这意味着每个读取或写入请求都由底层操作系统直接处理,这可以使程序效率低得多,因为每个这样的请求通常触发磁盘访问、网络活动或一些相对昂贵的其他操作。
Java™ 教程(字符流)
博弈
2019-01-12
阅读 3 分钟
2.2k
Java平台使用Unicode约定存储字符值,字符流I/O自动将此内部格式与本地字符集进行转换,在Western语言环境中,本地字符集通常是ASCII的8位超集。
Java™ 教程(字节流)
博弈
2019-01-12
阅读 2 分钟
1.9k
有许多字节流类,为了演示字节流的工作原理,我们将重点关注文件I/O字节流,FileInputStream和FileOutputStream,其他类型的字节流以大致相同的方式使用,它们的不同之处主要在于它们的构造方式。
Java™ 教程(I/O流)
博弈
2019-01-11
阅读 1 分钟
1.9k
I/O流 I/O流表示输入源或输出目标,流可以表示许多不同类型的源和目标,包括磁盘文件、设备、其他程序和内存数组。 流支持许多不同类型的数据,包括简单字节、原始数据类型、本地化字符和对象,有些流只是传递数据,其他人以有用的方式操纵和转换数据。 无论它们如何在内部工作,所有流都为使用它们的程序提供相同的简单...
Java™ 教程(管理源文件和类文件)
博弈
2019-01-11
阅读 2 分钟
1.8k
管理源文件和类文件 Java平台的许多实现依赖于分层文件系统来管理源文件和类文件,尽管Java语言规范不要求这样做,策略如下。 将类、接口、枚举或注解类型的源代码放在文本文件中,该文件的名称是类型的简单名称,其扩展名为.java,例如: {代码...} 然后,将源文件放在一个目录中,该目录的名称反映了该类型所属的包的...
Java™ 教程(使用包成员)
博弈
2019-01-11
阅读 3 分钟
1.7k
使用包成员 组成包的类型称为包成员。 要从其包外部使用公共包成员,你必须执行以下操作之一: 通过其完全限定名称引用该成员 导入包成员 导入成员的整个包 每种情况都适用于不同的情况,如以下各节所述。 通过其完全限定名称引用包成员 到目前为止,本教程中的大多数示例都通过简单名称引用类型,例如Rectangle和StackO...
Java™ 教程(创建和使用包)
博弈
2019-01-11
阅读 3 分钟
2.2k
定义:包是一组提供访问保护和名称空间管理的相关类型,请注意,类型引用类、接口、枚举和注解类型,枚举和注解类型分别是特殊的类和接口,因此在本课中通常将类型简称为类和接口。
Java™ 教程(泛型的限制)
博弈
2019-01-11
阅读 4 分钟
2.8k
泛型的限制 要有效地使用Java泛型,必须考虑以下限制: 无法使用基元类型实例化泛型类型 无法创建类型参数的实例 无法声明类型为类型参数的静态字段 无法对参数化类型使用强制类型转换或instanceof 无法创建参数化类型的数组 无法创建、捕获或抛出参数化类型的对象 无法重载将每个重载的形式参数类型擦除为相同原始类型...
Java™ 教程(类型擦除)
博弈
2019-01-11
阅读 7 分钟
2.6k
类型擦除 泛型被引入到Java语言中,以便在编译时提供更严格的类型检查并支持通用编程,为了实现泛型,Java编译器将类型擦除应用于: 如果类型参数是无界的,则用它们的边界或Object替换泛型类型中的所有类型参数,因此,生成的字节码仅包含普通的类、接口和方法。 如有必要,插入类型转换以保持类型安全。 生成桥接方法...
Java™ 教程(泛型通配符使用指南)
博弈
2019-01-10
阅读 2 分钟
2.1k
“in”变量向代码提供数据,想象一下带有两个参数的复制方法:copy(src, dest),src参数提供要复制的数据,因此它是“in”参数。
Java™ 教程(泛型通配符捕获和Helper方法)
博弈
2019-01-10
阅读 4 分钟
4.1k
在某些情况下,编译器会推断出通配符的类型,例如,列表可以定义为List<?>,但是在评估表达式时,编译器会从代码中推断出特定类型,此场景称为通配符捕获。
Java™ 教程(泛型通配符)
博弈
2019-01-10
阅读 4 分钟
2.5k
在泛型代码中,称为通配符的问号(?)表示未知类型,通配符可用于各种情况:作为参数、字段或局部变量的类型,有时作为返回类型(尽管更好的编程实践是更加具体),通配符从不用作泛型方法调用、泛型类实例创建或超类型的类型参数。
Java™ 教程(类型推断)
博弈
2019-01-10
阅读 4 分钟
2.6k
类型推断是Java编译器查看每个方法调用和相应声明的能力,以确定使调用适用的类型参数,推理算法确定参数的类型,如果可用,还确定分配或返回结果的类型,最后,推理算法尝试查找适用于所有参数的最具体类型。
Java™ 教程(泛型、继承和子类型)
博弈
2019-01-10
阅读 2 分钟
2.1k
如你所知,只要类型兼容,就可以将一种类型的对象分配给另一种类型的对象,例如,你可以将Integer分配给Object,因为Object是Integer的超类型之一:
Java™ 教程(有界类型参数)
博弈
2019-01-10
阅读 3 分钟
1.8k
有时你可能希望限制可用作参数化类型中的类型参数的类型,例如,对数字进行操作的方法可能只想接受Number或其子类的实例,这是有界类型参数的用途。
Java™ 教程(泛型方法)
博弈
2019-01-10
阅读 2 分钟
2.1k
泛型方法是引入其自己的类型参数的方法,这类似于声明泛型类型,但类型参数的范围仅限于声明它的方法,允许使用静态和非静态泛型方法,以及泛型类构造函数。
Java™ 教程(泛型原始类型)
博弈
2019-01-10
阅读 2 分钟
1.9k
泛型原始类型 原始类型是没有任何类型参数的泛型类或接口的名称,例如,给定Box泛型类: {代码...} 要创建参数化类型的Box<T>,请为形式类型参数T提供实际类型参数: {代码...} 如果省略实际的类型参数,则创建一个原始类型Box<T>: {代码...} 因此,Box是泛型Box<T>的原始类型,但是,非泛型类或接口...
Java™ 教程(泛型类型)
博弈
2019-01-10
阅读 3 分钟
1.7k
由于它的方法接受或返回一个Object,所以你可以自由地传入任何你想要的东西,前提是它不是一种原始类型,无法在编译时没有办法验证如何使用该类,代码的一部分可能会在box中放置一个Integer并期望从中获取Integer,而代码的另一部分可能会错误地传入String,从而导致运行时错误。
Java™ 教程(为什么要使用泛型?)
博弈
2019-01-10
阅读 1 分钟
2k
在任何重要的软件项目中,bug都是不可避免的,仔细的规划、编程和测试可以帮助减少它们的普遍性,但是它们总会在某个地方以某种方式潜入你的代码,随着新功能的引入以及你的代码库在规模和复杂性方面的增长,这一点变得尤为明显。
Java™ 教程(自动装箱和拆箱)
博弈
2019-01-10
阅读 2 分钟
2.6k
自动装箱是Java编译器在基元类型和相应的对象包装类之间进行的自动转换,例如,将int转换为Integer,将double转换为Double,依此类推,如果转换是另一种方式,则称为拆箱。
Java™ 教程(StringBuilder类)
博弈
2019-01-10
阅读 4 分钟
2.5k
除非字符串构建器在更简单的代码(参见本节末尾的示例程序)或更好的性能方面提供优势,否则应始终使用字符串,例如,如果需要连接大量字符串,则附加到StringBuilder对象会更有效。
Java™ 教程(比较字符串和字符串的部分)
博弈
2019-01-09
阅读 2 分钟
1.9k
程序逐步遍历searchMe引用的字符串,对于每个字符,程序调用regionMatches方法以确定以当前字符开头的子字符串是否与程序正在查找的字符串匹配。
Java™ 教程(操纵字符串中的字符)
博弈
2019-01-09
阅读 4 分钟
2k
你可以通过调用charAt()访问器方法获取字符串中特定索引处的字符,第一个字符的索引是0,而最后一个字符的索引是length()-1,例如,以下代码获取字符串中索引9处的字符:
Java™ 教程(在数字和字符串之间转换)
博弈
2019-01-09
阅读 2 分钟
2.3k
包装原始数字类型(Byte、Integer、Double、Float、Long和Short)的Number子类每个都提供一个名为valueOf的类方法,该方法将字符串转换为该类型的对象。下面是一个示例ValueOfDemo,它从命令行获取两个字符串,将它们转换为数字,并对值执行算术运算:
Java™ 教程(字符串)
博弈
2019-01-09
阅读 4 分钟
1.9k
在这种情况下,"Hello world!"是一个字符串文字 — 代码中的一系列字符,用双引号括起来,每当它在代码中遇到字符串文字时,编译器就会创建一个带有其值的String对象 — 在本例中为Hello world!。
Java™ 教程(字符)
博弈
2019-01-09
阅读 2 分钟
1.7k
但是,有时候需要使用字符作为对象 — 例如,作为期望对象的方法参数,Java编程语言提供了一个包装类,为此目的将字符“包装”到Character对象中,Character类型的对象包含单个字段,其类型为char,此Character类还提供了许多用于操作字符的有用类(即静态)方法。
Java™ 教程(超越基本算术)
博弈
2019-01-09
阅读 5 分钟
1.7k
超越基本算术 Java编程语言支持基本算术及其算术运算符:+、-、*、/和%,java.lang包中的Math类提供了用于执行更高级数学计算的方法和常量。 Math类中的方法都是静态的,因此你可以直接从类中调用它们,如下所示: {代码...} 使用静态导入语言功能,你不必在每个数学函数前面写Math: {代码...} 这允许你通过简单名称调...
上一页
1
…
More
4
5
6
(current)
7
8
…
More
下一页
上一页
6
(current)
下一页