public interface IA {
}
public class B implements IA {
}
public class C implements IA {
}
public class Main {
Set<IA> classSet = new HashSet<IA>();
public void setClassSet(Set<IA> set){
this.classSet = set;
}
public boolean validation(IA a){
boolean flag = true;
Iterator<IA> it = classSet.iterator();
while(it.hasNext()){
String paramClass = a.getClass().getCanonicalName();
String paramClassName = paramClass.substring(paramClass.lastIndexOf('.')+1);
IA obj = it.next();
String savedClass = obj.getClass().getCanonicalName();
String savedClassName = savedClass.substring(savedClass.lastIndexOf('.') + 1);
if ( paramClassName.equals(savedClassName)){
// classSet.add(a);
flag = false;
System.out.println("you register class has registered : "+paramClassName);
}
}
return flag;
}
public static void main(String[] args) throws ClassNotFoundException {
B b = new B();
C c = new C();
Set<IA> set = new HashSet<IA>();
set.add(b);
Main m = new Main();
m.setClassSet(set);
if(m.validation(c)){
set.add(c);
}
m.validation(b);
System.out.println(set.size());
}
}
分享到:
相关推荐
为了提高安全性,该类中还可能包含了对数据进行序列化和反序列化的操作,这是因为直接存储数组或对象类型到Cookies是不安全的。通过序列化可以将复杂类型转换为字符串,然后再存储。 在Web应用中,合理的使用...
由于所有学生选修的课程相同,因此这些数据不需要每个学生实例都保存一份。 4. **数组和泛型**: - `Course[] list` 是一个 `Course` 类对象的数组,用于存储所有课程的信息。数组是一种数据结构,可以存储相同...
在这个场景下,我们将探讨如何使用`XmlSerializer`类将对象序列化为XML格式,并保存到文件中。 首先,我们需要一个要序列化的对象。这个对象通常是一个自定义类,包含一些属性和字段。在C#中,我们可以通过在类和...
- **接口**:不能实例化,实现类可以实例化。 - **抽象类**:不能直接实例化,必须通过子类实现抽象方法后才能实例化。 6. **设计目的**: - **接口**:主要用于定义行为规范或约束,强调的是“能做什么”。 - ...
在Hibernate中,一对多关系可以通过在实体类中定义集合属性(如List、Set等)来实现,同时配合使用`@OneToMany`注解。例如,一个学生可以有多个课程,那么"学生"就是"一"端,"课程"就是"多"端。配置时,需要指定`...
这个实例“tomcat+nginx+redis 实现sessionId共享”旨在教你如何在使用Tomcat作为应用服务器、Nginx作为反向代理服务器的环境中,利用Redis来实现跨服务器的会话(sessionId)共享。这对于在分布式系统中保持用户...
这意味着在`List`中可以保存多个相同的对象,并且可以通过它们插入的顺序来检索。 #### List接口的特点 1. **有序性**:`List`中的元素是按照插入顺序进行排列的。 2. **可重复性**:`List`允许同一个对象多次出现...
集合(Set)是由一组无序但彼此之间又有一定关系性的成员构成,每个成员在集合中只能出现一次,不同于我们之前说的字典,链表之类的,它是一种包含了不同元素的数据结构(集合中的元素称为成员),从其定义中我们可以...
数据验证则可以通过setValidation()方法实现,用于限制单元格输入的数据类型或范围。 七、性能优化 由于PHPExcel处理大文件时可能消耗大量内存,可以利用其提供的内存优化策略,如分块读写,或者使用SharedStrings...
Java中,通常通过抽象工厂类和具体实现类来实现。 3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在Java中,可以通过接口和实现类组合实现。 4. **建造者模式**:将...
- 如果两个类都实现了相同的接口,可以通过接口来传递数据。 ```csharp interface IValueProvider { int GetValue(); } class ClassA : IValueProvider { public int GetValue() => 5; } class ClassB {...
标题中的“保存到数据库程序(VB6.0源代码编写)”指的是使用Visual Basic 6.0编程语言编写的程序,其主要功能是将数据存储到Access数据库中。Access数据库是微软开发的一种关系型数据库管理系统(RDBMS),适用于小型...
46、java 中实现多态的机制是什么? 12 47、在java 中一个类被声明为final 类型,表示了什么意思? 12 48、下面哪些类可以被继承? 12 49、指出下面程序的运行结果: 【基础】 13 52、关于内部类: 13 53、数据类型...
然而,这样的操作在使用plt.savefig函数保存图片时会导致图例被截断,因为matplotlib在保存图片时默认的布局和直接显示在屏幕上的布局并不完全相同。为了给图例腾出空间,可以使用fig.subplots_adjust函数来调整子图...
在这个"WebApplication1"项目中,我们可以看到一个关于如何在C#中实现树形递归的实例。树形递归是一种处理具有层次关系数据的方法,特别是在处理树形控件时非常有用。下面,我们将深入探讨这个主题。 首先,理解树...
在C#中,可以使用.NET框架提供的System.Security.Cryptography命名空间内的类来实现这一过程。 1. **AES加密算法**:AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,速度快且安全性高。在C#中...
9. **集合框架**:Java的集合框架包括List、Set、Queue和Map等接口,以及ArrayList、HashSet、LinkedList、HashMap等实现类。它们提供了存储和操作对象的容器,是Java编程中不可或缺的部分。 10. **泛型**:泛型...
描述中提到的“读取xml文件并解析将解析的结果保存至定义类的对象中”,这部分工作由XML反序列化完成,通过指定的XML文件生成对应的对象实例。另一方面,“保存,是将该对象的内容保存至xml配置文件中”则涉及XML...
本实例将深入探讨如何在Delphi 7中生成二维码并将其保存为BMP图像文件。 首先,我们需要一个二维码生成库。Delphi 7本身并不内置二维码生成功能,所以我们需要引入第三方组件。例如,可以使用开源项目“ZXing.Net”...