Java和Scala学习日记4
来源:互联网 发布:贪玩游戏 知乎 编辑:程序博客网 时间:2024/06/11 03:33
1. static import
解析:在权限许可的范围内,允许在代码中直接引用别的类的static变量和方法。
2. Java静态块
解析:静态块在类加载时执行,并且只执行一次。如下所示:
(1)普通代码块即直接在方法或是语句中定义的代码块。
(2)构造代码块即直接写在类中的代码块。
(3)静态代码块即使用static关键字声明的代码块。
(4)同步代码块,即synchronized修饰方法和synchronized修饰代码块。
说明:Java类加载器是Java运行时环境的一部分,负责动态加载Java类到Java虚拟机的内存空间中。
3. Apache POI
解析:Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。如下所示:
(1)HSSF:提供读写Microsoft Excel格式档案的功能。
(2)XSSF:提供读写Microsoft Excel OOXML格式档案的功能。
(3)HWPF:提供读写Microsoft Word格式档案的功能。
(4)HSLF:提供读写Microsoft PowerPoint格式档案的功能。
(5)HDGF:提供读写Microsoft Visio格式档案的功能。
4. 编辑距离
解析:编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操
作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越
小,两个串的相似度越大。
5. POI操作DOCX文件
解析:POI操作DOCX文件有两种方式,即XWPFWordExtractor和XWPFDocument。其中,XWPFWordExtractor的
内部还是通过XWPFDocument来实现的。在使用XWPFWordExtractor读取docx文档时,只能获取到其文本,而不能
获取到其文本对应的属性值。在使用XWPFDocument读取docx文档时,可以获取到文本比较精确的属性信息,比如
XWPFParagraph,XWPFTable等。如下所示:
(1)XWPFParagraph:代表一个段落。
(2)XWPFRun:代表具有相同属性的一段文本。
(3)XWPFTable:代表一个表格。
(4)XWPFTableRow:表格的一行。
(5)XWPFTableCell:表格对应的一个单元格。
说明:DOC文件的操作需要导入poi-scratchpad-xxx.jar等。DOCX文件的操作需要导入poi-ooxml-xxx.jar等。
6. POI读取DOCX文件
解析:
try { FileInputStream fis = new FileInputStream(file); XWPFDocument xdoc = new XWPFDocument(fis); XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc); String docx = extractor.getText(); System.out.println(docx); fis.close(); } catch (Exception e) { e.printStackTrace(); }说明:public class XWPFWordExtractor extends POIXMLTextExtractor:Helper class to extract text from an
OOXML Word file.
7. @Override is not allowed when implementing interface method
解析:Project Settings > Modules > xxx > Language level -> 8.0 - Lambdas, type annotations etc.
说明:将资源文件放到文件夹src/main/resources后,使用IDEA(Maven项目)在默认编译时,会将resources文件夹
中的资源文件一块打包进classes目录中。
8. 静态代码块初始化顺序
解析:
(1)静态代码块:用staitc声明,jvm加载类时执行,且仅执行一次。
(2)构造代码块:类中直接用{}定义,每一次创建对象时执行。
(3)执行顺序优先级:静态代码块,main(),构造代码块,构造方法。
9. IDEA中for循环快捷键
解析:fori。
10. IDEA中System.out.println()快捷键
解析:sout。
11. IDEA中main()快捷键
解析:psvm。
12. java.util.regex.Matcher和java.util.regex.Pattern;
解析:
(1)public final class Matcher extends Object implements MatchResult:An engine that performs match
operations on a character sequence by interpreting a Pattern.
(2)public final class Pattern extends Object implements Serializable:A compiled representation of a regular
expression.
举个例子,如下所示:
Pattern p = Pattern.compile("a*b");Matcher m = p.matcher("aaaaab");boolean b = m.matches();
13. System.getProperty()
解析:The System class contains several useful class fields and methods. It cannot be instantiated.
14. Lucene中的IndexReader和IndexReader
解析:
(1)org.apache.lucene.index.IndexReader
public abstract class IndexReader extends Object implements Closeable:IndexReader is an abstract class,
providing an interface for accessing a point-in-time view of an index.
(2)org.apache.lucene.index.IndexWriter
public class IndexWriter extends Object implements Closeable, TwoPhaseCommit, Accountable:An IndexWriter
creates and maintains an index.
15. java.nio.file.FileSystem
解析:public abstract class FileSystem extends Object implements Closeable:Provides an interface to a file
system and is the factory for objects to access files and other objects in the file system.
16. JavaBean
解析:
(1)所有属性为private
(2)提供默认构造方法
(3)提供getter和setter
(4)实现serializable接口
17. Object类中的toString(),equals(),hashCode()
解析:
(1)toString():getClass().getName() + '@' + Integer.toHexString(hashCode())
(2)equals():引用相同,克隆不同。
(3)hashCode():对象不同,整数不同。
说明:如果需要,那么重写toString(),equals(),hashCode()。
18. finalize()
解析:finalize()是Object的protected方法,子类可覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。
19. indexOf和lastIndexOf
解析:
(1)int indexOf(String str):返回第一次出现的指定子字符串在此字符串中的索引。
(2)int indexOf(String str, int startIndex):从指定索引处开始,返回第一次出现指定子字符串在此字符串中索引。
(3)int lastIndexOf(String str):返回在此字符串中最右边出现的指定子字符串的索引。
(4)int lastIndexOf(String str, int startIndex):从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指
定子字符串的索引。
20. Map.Entry
解析:Map是Java中的接口,Map.Entry是Map的一个内部接口。
21. IDEA生成Javadoc
解析:在"Tools->Gerenate JavaDoc"中的"Other command line arguments:"栏里输入"-encoding utf-8 -charset utf-8".
说明:Java中有三种注释,即行注释、段落注释和文档注释。
[1] Apache POI:http://poi.apache.org/download.html#POI-3.16
- Java和Scala学习日记4
- Java和Scala学习日记1
- Java和Scala学习日记2
- Java和Scala学习日记3
- Java和Scala学习日记5
- Java和Scala学习日记6
- Java和Scala学习日记7
- Java和Scala学习日记8
- java学习日记 4
- java学习日记4
- Scala学习笔记13 - 结合scala和java
- 【笨鸟先飞】Java重新学习日记4---类和对象
- JAVA 学习日记(4).JDBC
- Java菜鸟学习日记4
- 学习日记java 泛型和泛型类
- JAVA 学习日记(6).JSTL和EL
- java学习日记1(HttpSession和Cookie)
- scala自学日记(4)-万物皆对象
- [vijos 1776]关押罪犯
- Dijkstra 算法的 C++ 实现
- SAP——102和122和161区别
- Android Studio打开出现Unknown run configuration type AndroidRunConfigurationType
- 关于combox记录登录信息
- Java和Scala学习日记4
- jquery validate required 无法验证空问题
- Js用Canvas实现简单时钟
- python初步实现word2vec
- 腾讯前端十天小白训练营<DAY 3>---css常用属性及行内&块级元素
- 面向对象的编程---创建对象
- MTK 7.0 下拉状态栏左上角添加运营商显示
- 云计算全球首推峰谷价,为企业节约49%成本
- axios全攻略