logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

mac下载maven并配置,以及idea配置

mac环境配置maven,和idea配置maven。

文章图片
#macos#maven#intellij-idea
《Effective Java》解读第31条:利用有限制通配符来提升API的灵活性

在API中使用通配符类型(? extends 和 ? super)可以使参数类型更加灵活,同时保持类型安全。 这是实现"PECS"原则(Producer-Extends, Consumer-Super)的关键技术。

文章图片
#java#开发语言
《Effective Java》解读第30条:优先考虑泛型方法

类可以是泛型的(如List),方法也可以是独立的泛型方法。泛型方法意味着该方法可以独立于其所在类,拥有自己的类型参数,从而在更广泛的输入类型上安全地工作。

文章图片
#java#开发语言
《Effective Java》解读第34条:用enum代替int常量

枚举类型是由固定常量组成合法值的类型。平时经常使用,就不再过多介绍了。

文章图片
#java#开发语言
《Effective Java》解读第35条:用实例域代替序数

摘要:Java枚举的ordinal()方法返回常量声明位置(从0开始),但不建议依赖它获取关联数值。原因包括:1)声明顺序改变会导致ordinal值变化;2)代码可读性差;3)无法处理非连续数值。正确做法是显式定义私有字段并通过构造函数赋值,如SOLO(1)。仅在编写EnumSet/EnumMap等数据结构时才应使用ordinal(),其他情况都应避免。实例域方式更安全、灵活且易于维护。

文章图片
#java#开发语言
《Effective Java》解读第39条:注解优先于命名模式

现代Java开发中,注解已完全取代命名模式。早期框架(如JUnit 3)依赖特定命名(如testXXX)标记测试方法,存在拼写错误风险、作用域模糊等问题。Java 5引入的注解(如JUnit 4的@Test)提供了类型安全、编译检查、参数传递等优势,使代码更清晰可靠。注解消除了命名冗余,允许方法名专注业务逻辑而非框架要求。开发者应优先使用标准注解,避免过时的命名模式。

文章图片
#java#开发语言
《Effective Java》解读第40条:坚持使用Override注解

本文强调了在Java中坚持使用@Override注解的重要性。该注解能有效捕获拼写错误、参数类型错误等编译时问题,提高代码可读性,并适用于覆盖父类方法、实现抽象方法和接口方法等场景。文章建议养成使用习惯,借助IDE自动添加功能,将这一零成本高收益的实践融入日常编码,以预防潜在错误并使代码意图更清晰。这是一条值得遵循的黄金编码法则。

文章图片
#java#开发语言
《Effective Java》解读第42条:Lambda优先于匿名类

在Java 8中,应优先使用Lambda表达式而非匿名类创建函数式接口实例。Lambda语法更简洁,可显著减少样板代码,提升可读性。相比匿名类,Lambda能自动推导参数类型,使代码更简明。但Lambda不适用于非函数式接口、需要访问当前对象(this)或复杂逻辑的情况,此时仍需使用匿名类或命名方法。

文章图片
#java#开发语言
《Effective Java》解读第43条:方法引用优先于Lambda

本文比较了Java中方法引用和Lambda表达式的使用场景。方法引用通常比Lambda更简洁直观,应优先使用,特别是在调用静态方法、实例方法或构造器时。文章通过代码示例展示了方法引用的五种类型及其等效Lambda表达式,并指出当Lambda更简洁或更清晰时(如涉及复杂逻辑或需要额外参数时),应使用Lambda而非方法引用。最终建议是:在方法引用更简洁时优先使用方法引用,否则使用Lambda表达式。

文章图片
#java#开发语言
《Effective Java》解读第45条:谨慎使用Stream

本文探讨了Java Stream API的合理使用场景与注意事项。Stream适合用于元素转换、过滤、聚合等批量操作,但过度使用会降低可读性。应避免在需要修改局部变量、控制流或抛出异常时使用Stream。建议将复杂逻辑提取为辅助方法,谨慎使用并行流,保持Stream与循环的平衡。示例展示了"换位词"问题的两种实现方式,对比了恰当与过度使用Stream的代码差异,强调Stream

文章图片
#java#c##开发语言
    共 52 条
  • 1
  • 2
  • 3
  • 6
  • 请选择