Properties类学习笔记
1.Properties是一个hashTable子类,但它只装String类型的值
2.一个Properties集中有一个子Properties集为它的默认属性集,如果在Properties中找不到相关的property,则会到默认集中找
3.Properties不建议使用父类的put/putAll方法,因为可能会将非String类型的值插入属性集中,取而代之,应该用setProperty方法
4.因为Properties继承自HashTable,所以它是线程安全的,当多个线程访问它时,不需要额外的同步操作
其中包含的字段和方法:
1.protected字段Properties defaults; 默认属性集(子属性集),如果在主属性集中没有找到相应的key-value,则在此中找
2.无参构造器
3.带默认集参数的构造器
9.私有方法loadConvert 加载时转换,供load0方法调用,目的是转换编码和复原转义的特殊字符
10.私有方法saveConvert 保存时转换,供store0方法调用,目的同上
11.私有静态方法writeComments 供store0方法调用
5.同步的方法load(reader) 从字符流中加载一组属性
6.同步的方法load(inputStream) 从字节流中加载一组属性
7.私有方法load0 供两个load方法调用的加载属性的方法
8.内部类LineReader 供load0方法调用,目的是从字节流/字符流中读取逻辑行
12.方法store 将属性列表写入到字符输出流中
13.方法store 将属性列表写入到字节输出流中
14.私有方法store0 供上述两个store方法调用,实际执行的方法
4.同步的方法setProperty 设置属性值,只允许String类型的键和String类型的值
18.方法getProperty 根据key获取属性值
19.方法getProperty 根据key获取属性值,如果没有,则返回一个默认值
20.方法propertyNames 返回所有键的枚举,包括主集和子集
21.方法stringPropertyNames 返回所有键的set集合,包括主集和子集
22.方法list 将属性列表打印到字节输出流中
23.方法list 将属性列表打印到字符输出流中
24.同步的方法enumerate 将指定的hashTable枚举化
25.同步的方法enumerateStringProperties 将指定的hashTable枚举化,但是排除非String类型的键值对
26.私有静态方法toHex 将int类型转换为16进制(原理:与'0xF'做按位与运算)
27.私有静态常量字符数组 包含16进制中的0-16
15.同步的方法loadFromXML 从输入流中的xml文件中加载属性列表
16.方法storeToXML 将属性列表写入到xml文件中
17.方法storeToXML 以指定编码将属性列表写入到xml文件中
28.私有静态内部类XmlSupport 供loadFromXML和storeToXML方法调用
总结:
1.Properties类是一个继承了HashTable的只能装String类型数据的集合,因为HashTable是线程安全的,所以Properties也是线程安全的
2.Properties类中有一个很重要的字段defaults,它也是Properties类型,两者是主次关系,找属性的时候先从主Properties找,然后从次Properties中找.
3.Properties是操作属性的专门类,可以从字节流,字符流,xml文件中加载/保存属性.
4.Properties中toHex方法通过将int类型数据与0xF做按位与运算,得到int数据的16进制.
Properties类学习笔记的更多相关文章
- java.util.Properties类 学习笔记
学习目标: 1.认识properties文件,理解其含义,会正确创建properties文件. 2.会使用java.util.Properties类来操作properties文件. 3.掌握相对路 ...
- System类学习笔记
最近在学习源码的过程中发现:很多深层次的代码都用到了一个类System类,所以决定对System类一探究竟 本文先对System类进行了剖析,然后对System类做了总结 一.首先对该类的中的所有字段 ...
- zt C++ list 类学习笔记
C++ list 类学习笔记 分类: C++ 2011-09-29 00:12 7819人阅读 评论(0) 收藏 举报 listc++iteratorvectorcconstructor 双向循环链表 ...
- GUI学习之五——QAbstractButton类学习笔记
今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种 ...
- typescript类(学习笔记非干货)
我们声明一个 Greeter类.这个类有3个成员:一个叫做greeting的属性,一个构造函数和一个greet方法. We declare a Greeter class. This class ha ...
- PHP-解析验证码类--学习笔记
1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1 定义变量 //随机因子 private $char ...
- ThreadLocal类学习笔记
这个类在java1.2中就出现了,线程独有的变量(每个线程都有一份变量),使用它的好处之一就是可以少传许多参数. 在哪里用到它呢?有连接池的地方就有它的身影,连接池包括数据库连接池,网络连接池等. i ...
- C++ list 类学习笔记
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素.在STL中,list和vector一样,是两个常被使用的容器.和vector不一样的是,list不支持对元素 ...
- 转载:C++ vector 类学习笔记
声明:本文转载自http://blog.csdn.net/whz_zb/article/details/6827999 vector简介 vector是STL中最常见的容器,它是一种顺序容器,支持随机 ...
随机推荐
- MVC实战之排球计分(五)—— Controller的设计与实现
控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时, 控制器本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求 ...
- MongoDB学习笔记——数据库的创建与初始
Part1:MongoDB与SQL的概念对比 图片来源--菜鸟教程 Part2:MongoDB安装地址 直接下载地址:戳这里 备用地址:戳这里 通过备用地址(官网)下载时,要注意下面这个地方 Part ...
- 判断网页打开浏览器类型,PC 手机端,微信浏览器,,,
//判断网页打开浏览器类型,PC 手机端,微信浏览器,,, <script type="text/javascript"> var browser = { versio ...
- 946. Validate Stack Sequences验证栈序列
网址:https://leetcode.com/problems/validate-stack-sequences/ 参考:https://leetcode.com/problems/validate ...
- CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决
安装CRF++, 到CRF++网站CRF++: Yet Another CRF toolkit,下载C++源代码安装包(这里用的是 CRF++-0.58.tar.gz ),解压,进入解压文件并如下过程 ...
- 拒绝服务(DoS)理解、防御与实现
一.说明 我一直不明白为什么拒绝服务,初学着喜欢拿来装逼.媒体喜欢吹得神乎其神.公司招聘也喜欢拿来做标准,因为我觉得拒绝服务和社会工程学就是最名不副实的两样东西.当然由于自己不明确拒绝服务在代码上是怎 ...
- C++解析十-数据封装
数据封装 所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数. 程序数据:数据是程序的信息,会受到程序函数的影响.封装是面向对象编程中把数据和操作数 ...
- JS之event flow
DOM事件流 1.定义: DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素节点与根结点之间的路径传播,路径所经过的结点都会收到该事件,这个传播过程可称为DOM ...
- match和search的区别
正则表达式帮助你方便的检查一个字符串是否与某种模式匹配. re模块使Python语言拥有全部的正则表达式功能. re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,mat ...
- Linux的相关概念
1 Linux的相关概念 1.1 什么是操作系统? 操作系统(英语:operating system,缩写:OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处 ...