酒店网站建设哪家好建设化工网站的目的
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:36
当前位置: 首页 > news >正文
酒店网站建设哪家好,建设化工网站的目的,为什么自己做的网站别的电脑打不开,简约大气网站泛型提供了编译时类型安全检测机制#xff0c;该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型#xff0c;也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法#xff0c;能够对整型数组、字符串数组甚至其他任何类型的数组进行排序该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法能够对整型数组、字符串数组甚至其他任何类型的数组进行排序我们就可以使用 Java 泛型。 1 泛型方法 E 你可以写一个泛型方法该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型编译器适当地处理每一个方法调用。 // 泛型方法 printArray public static E void printArray( E[] inputArray ) { for ( E element : inputArray ){ System.out.printf( %s , element ); } }
- ? extends T表示该通配符所代表的类型是 T 类型的子类。 2. ? super T表示该通配符所代表的类型是 T 类型的父类。 2 泛型类T 泛型类的声明和非泛型类的声明类似除了在类名后面添加了类型参数声明部分。和泛型方法一样泛型类的类型参数声明部分也包含一个或多个类型参数参数间用逗号隔开。一个泛型参数也被称为一个类型变量是用于指定一个泛型类型名称的标识符。因为他们接受一个或多个参数这些类被称为参数化的类或参数化的类型。 public class BoxT { private T t; public void add(T t) { this.t t; } public T get() { return t; } 3 类型通配符? 类 型 通 配 符 一 般 是 使 用 ? 代 替 具 体 的 类 型 参 数 。 例 如 List? 在 逻 辑 上 是 ListString,ListInteger 等所有 List具体类型实参的父类。 4 类型擦除 Java 中的泛型基本上都是在编译器这个层次来实现的。在生成的 Java 字节代码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数会被编译器在编译的时候去掉。这个 过程就称为类型擦除。如在代码中定义的 ListObject和 ListString等类型在编译之后 都会变成 List。JVM 看到的只是 List而由泛型附加的类型信息对 JVM 来说是不可见的。 类型擦除的基本过程也比较简单首先是找到用来替换类型参数的具体类。这个具体类一般 是 Object。如果指定了类型参数的上界的话则使用这个上界。把代码中的类型参数都替换 成具体的类。 5 JAVA 序列化( 创建可复用的 Java 对象) 保存 ( 持久化 ) 对象 及其状态到内存或者磁盘 Java 平台允许我们在内存中创建可复用的 Java 对象但一般情况下只有当 JVM 处于运行时这些对象才可能存在即这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中就可能要求在JVM停止运行之后能够保存(持久化)指定的对象并在将来重新读取被保存的对象。Java 对象序列化就能够帮助我们实现该功能。序列化对象以字节数组保持 - 静态成员不保存 使用 Java 对象序列化在保存对象时会把其状态保存为一组字节在未来再将这些字节组装成对象。必须注意地是对象序列化保存的是对象的”状态”即它的成员变量。由此可知对 象序列化不会关注类中的静态变量。序列化用户远程对象传输 除了在持久化对象时会用到对象序列化之外当使用 RMI(远程方法调用)或在网络中传递对象时都会用到对象序列化。Java序列化API为处理对象序列化提供了一个标准机制该API简单易用。Serializable 实现序列化 在 Java 中只要一个类实现了 java.io.Serializable 接口那么它就可以被序列化。 ObjectOutputStream 和 ObjectInputStream 对对象进行序列化及反序列化 通过 ObjectOutputStream 和 ObjectInputStream 对对象进行序列化及反序列化。writeObject 和 readObject 自定义序列化策略 在类中增加 writeObject 和 readObject 方法可以实现自定义序列化策略。序列化 ID 虚拟机是否允许反序列化不仅取决于类路径和功能代码是否一致一个非常重要的一点是两个 类的序列化 ID 是否一致就是 private static final long serialVersionUID 序列化并不保存静态变量 序列化子父类说明 要想将父类对象也序列化就需要让父类也实现 Serializable 接口。Transient 关键字 阻止该变量被序列化到文件中 在变量声明前加上 Transient 关键字可以阻止该变量被序列化到文件中在被反序列化后transient 变量的值被设为初始值如 int 型的是 0对象型的是 null。服务器端给客户端发送序列化对象数据对象中有一些数据是敏感的比如密码字符串等希望对该密码字段在序列化时进行加密而客户端如果拥有解密的密钥只有在客户端进行反序列化时才可以对密码进行读取这样可以一定程度保证序列化对象的数据安全。 6 JAVA 复制 将一个对象的引用复制给另外一个对象一共有三种方式。第一种方式是直接赋值第二种方式是浅拷贝第三种是深拷贝。所以大家知道了哈这三种概念实际上都是为了拷贝对象。 6.1 直接赋值复制 直接赋值。在 Java 中A a1 a2我们需要理解的是这实际上复制的是引用也就是 说 a1 和 a2 指向的是同一个对象。因此当 a1 变化的时候a2 里面的成员变量也会跟 着变化。 6.2 浅复制复制引用但不复制引用的对象 创建一个新对象然后将当前对象的非静态字段复制到该新对象如果字段是值类型的 那么对该字段执行复制如果该字段是引用类型的话则复制引用但不复制引用的对象。 因此原始对象及其副本引用同一个对象。 class Resume implements Cloneable{ public Object clone() { try { return (Resume)super.clone(); } catch (Exception e) { e.printStackTrace(); return null; } } } 6.3 深复制复制对象和其应用对象 深拷贝不仅复制对象本身而且复制对象包含的引用指向的所有对象。 class Student implements Cloneable { String name; int age; Professor p; Student(String name, int age, Professor p) { this.name name; this.age age; this.p p; } public Object clone() { Student o null; try { o (Student) super.clone(); } catch (CloneNotSupportedException e) { System.out.println(e.toString()); } o.p (Professor) p.clone(); return o; } } 6.4 序列化深 clone 一中实现 在 Java 语言里深复制一个对象常常可以先使对象实现 Serializable 接口然后把对 象实际上只是对象的一个拷贝写到一个流里再从流里读出来便可以重建对象。
- 上一篇: 酒店网站建设目标招代理的网站要怎么做的
- 下一篇: 酒店网站建设特色8小8x在线免费观看2021
相关文章
-
酒店网站建设目标招代理的网站要怎么做的
酒店网站建设目标招代理的网站要怎么做的
- 技术栈
- 2026年03月21日
-
酒店网站建设栏目分析阿里云企业邮箱官网
酒店网站建设栏目分析阿里云企业邮箱官网
- 技术栈
- 2026年03月21日
-
酒店网站建设功能小程序免费制作平台企业中心
酒店网站建设功能小程序免费制作平台企业中心
- 技术栈
- 2026年03月21日
-
酒店网站建设特色8小8x在线免费观看2021
酒店网站建设特色8小8x在线免费观看2021
- 技术栈
- 2026年03月21日
-
酒店网站建设需求分析广西壮族自治区行政执法人员网络培训系统
酒店网站建设需求分析广西壮族自治区行政执法人员网络培训系统
- 技术栈
- 2026年03月21日
-
酒店网站建设郑州网站建设亻汉狮网络
酒店网站建设郑州网站建设亻汉狮网络
- 技术栈
- 2026年03月21日


