原始类型擦除后相等

简介: 该示例创建了泛型类型不同的两个ArrayList,分别存储字符串和整数。通过getClass()比较二者类类型,结果为true,说明在运行时泛型信息被擦除,仅保留原始类型,体现了Java泛型的类型擦除机制。

public class Test {
public static void main(String[] args) {
ArrayList list1 = new ArrayList();
list1.add("abc");

    ArrayList<Integer> list2 = new ArrayList<Integer>();
    list2.add(123);

    System.out.println(list1.getClass() == list2.getClass());
}

}在这个例子中,我们定义了两个ArrayList数组,不过一个是ArrayList泛型类型的,只能存储字符串;一个是ArrayList泛型类型的,只能存储整数,最后,我们通过list1对象和list2对象的getClass()方法获取他们的类的信息,最后发现结果为true。说明泛型类型String和Integer都被擦除掉了,只剩下原始类型。

相关文章
|
20小时前
|
安全 数据安全/隐私保护
什么是OAuth2.0
OAuth(开放授权)是一种安全、简易的标准,允许第三方应用在不获取用户账号密码的情况下,获得用户资源授权。OAuth2.0是其升级版,安全性与灵活性更强,但不兼容OAuth1.0,已完全取代旧版本。
|
20小时前
|
存储 安全 Java
认证流程分析
`UsernamePasswordAuthenticationFilter` 是 Spring Security 处理表单登录的核心过滤器,拦截 `/login` 的 POST 请求,提取用户名密码并封装为 `UsernamePasswordAuthenticationToken`,交由 `AuthenticationManager` 认证。认证成功后将结果存入 `SecurityContext`,支持“记住我”及后续处理,失败则清空上下文并调用失败处理器。
|
20小时前
|
缓存 Java
线程池初始化严禁使用Executors
阿里巴巴代码规范禁止使用Executors创建线程池,因易导致OOM。推荐手动创建ThreadPoolExecutor,合理设置参数,避免资源耗尽风险。
|
20小时前
|
安全 Java 网络安全
FilterChainProxy
`FilterChainProxy` 是 Spring Security 的核心过滤器链代理,通过 `SecurityFilterChain` 管理多个安全过滤器。请求到来时,先经防火墙封装,再匹配适用的过滤器链,最终由虚拟链依次执行。十五个安全过滤器由此协同工作,保障应用安全。
|
20小时前
|
安全 Java Spring
DelegatingFilterProxy
在web.xml中配置的DelegatingFilterProxy,实际是Spring Security的入口。其核心是通过`doFilter`方法,首次调用时根据`targetBeanName`(即`springSecurityFilterChain`)从Spring容器中获取真正的过滤器`FilterChainProxy`,并缓存到`delegate`属性。随后执行该代理过滤器,实现安全控制链。
|
20小时前
|
存储 缓存 安全
常用过滤器介绍
Spring Security通过过滤器链实现安全控制:从上下文管理、认证授权到异常处理,涵盖CSRF防护、会话控制、匿名访问等功能,各过滤器分工明确,共同保障Web应用安全。
|
20小时前
|
安全 Java 网络架构
SpringSecurity核心架构
Spring Security基于过滤器链实现安全控制,核心为FilterChainProxy,通过DelegatingFilterProxy集成到容器。多SecurityFilterChain按请求路径匹配,ExceptionTranslationFilter处理认证与授权异常,实现细粒度访问控制。(238字)
|
20小时前
|
安全 Java 数据安全/隐私保护
SpringSecurity核心功能
SpringSecurity支持表单、OAuth2、SAML等多样认证方式,可扩展自定义逻辑;提供URL、方法级鉴权,支持SPEL与RBAC模型;兼具CSRF防护等安全防御,功能全面,是Java生态成熟的权限解决方案。(238字)
|
20小时前
|
安全 Java 应用服务中间件
实现权限管理的技术
权限管理技术选型需综合考量。常见方案包括Apache Shiro(轻量易用,但安全性弱)、Spring Security(功能强、安全性高,但配置复杂)及自定义ACL(灵活低成本,但维护难)。根据项目实际选择最合适的方案。
|
20小时前
|
安全 数据安全/隐私保护
什么是权限管理
权限管理包含认证与授权两大核心:认证验证用户身份(如登录),授权则根据角色分配菜单权限。二者结合,确保系统安全,防止越权操作与数据泄露,实现精细化访问控制。