java 无知点
来源:互联网 发布:巴黎必去景点 知乎 编辑:程序博客网 时间:2024/06/07 09:18
Class对象:
每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。获取Class实例的三种方式:
(1)利用对象调用getClass()方法获取该对象的Class实例;
(2)使用Class类的静态方法forName(),用类的名字获取一个Class实例;
(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例。
Point pt=new Point(); //point是自定义类
Class c1=pt.getClass();
Class c2=Class.forName("Point");
c2.getName();
Class c3=Point.class;
c3.getName();
Class c4=Integer.TYPE;
c4.getName();
static静态代码段的加载:
在运行期间,如果我们要产生某个类的对象,Java虚拟机(JVM)会检查该类型的Class对象是否已被加载。如果没有被加载,JVM会根据类的名称找到.class文件并加载它。一旦某个类型的Class对象已被加载到内存,就可以用它来产生该类型的所有对象
new Point();
Class.forName("Point");//上述两种方法都会运行静态代码段!
class Point
{
static
{
System.out.println("Loading Point");
}
{
static
{
System.out.println("Loading Point");
}
}
Map.Entry类的使用:
标准的Map访问方法如下:
Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key = iterator.next( );Object value = map.get(key);;....;}}
这个方法存在一个问题:从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值(即map.get(key))。
引入Map.Entry类,你可以得到在同一时间得到所有的信息。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:Set entries = map.entrySet( );if(entries != null) {Iterator iterator = entries.iterator( );while(iterator.hasNext( )) {Map.Entry entry =iterator.next( );Object key = entry.getKey( );Object value = entry.getValue();;....}}
尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。
- java 无知点
- 无知
- 无知
- 无知
- 无知
- 无知
- 退化,无知
- 学会无知
- 无知小孩
- 暴露无知
- 感慨无知
- 年少无知
- 越学越无知
- “无知少女”
- 关于“.Net是从Java抄袭而来的”这种无知的说法
- 千万不要死于无知
- 千万不要死于无知
- 小小的无知
- USACO解析Mixing Milk篇(使用STL优先队列解决)
- Android各个版本API的区别
- hdu 3460 Ancient Printer
- w3c performance api 学习
- 2012华为校招上机一道----字符串分离
- java 无知点
- Hive优化(5)之选择合适的map数
- 32位机上与64位机 基本类型的长度差异
- 如何创建动态链接库(DLL)
- I/O Request Packet
- 浅谈sql server中约束之主键,外键
- ios 动画
- Oracle Database - Oracle Net (SQL*Net)
- 带CheckBox列头的DataGridView(二)