–本文摘要–
    1、本文的目标读者:是了解Java基础,想进一步掌握项目中常使用的Java特性的读者。
    2、本文的内容摘要:讲述Java中的一些特性,可变参、foreach循环、Annotation、@Override、@Deprecated、@SuppressWarning。
    【版权声明】归CSDN账户[征途黯然.]/公众号[三黄工作室]原创,禁止任何网站与个人采集或转载。


一、可变参

可变参的概念是:在方法中不确定需要传递的参数的个数,此时使用可变参的语法,即...
    简单示例如下:

// 普通函数 - 两个数相加
public add(int a, int b){return a+b;
}// 利用方法的重载 - 三个数相加
public add(int a, int b, int c){return a+b+c;
}// 使用可变参,可以任意个数相加。不需要写那么多重载的方法
public add(int ...nums){int sum = 0;for(int x : nums){sum += x;}return sum;
}

【注意】

1、可变参,这是一种思想。在ES6语法中,可变参很常见;在python等其他语言中也都有这个概念,但是可能写法不同。

2、上升到程序员的修养这块来说,我们应该理解每个技术的思想。从某个语言中的特性,拓展到其他语言的特性,最后总结出所有语言的共性。这样才能保持竞争力。

3、我们在项目中,通常在底层的父类、工具栏中使用可变参,对象是Object或者泛型,并不局限于上例中的int类型。


二、foreach循环

Java中foreach循环是加强型的for循环,用于简化数组和集合的遍历操作。传统的for循环遍历必须通过下标来控制,foreach循环较为便捷。下面代码是两种写法的对比:

int nums[] = new int[]{1,2,3,4,5};//传统for
for(int i = 0; i < nums.length; i++){……nums[i]……
}// foreach循环
foreach(int x : nums){……x……
}

在项目中,foreach使用较多。


三、Annotation(注解)

注解是Java中的一个强大功能,日常开发中离不开注解。例如SSM中有@Controller@Service等等,甚至原生的注解@Override@Deprecated@SuppressWarning

Java新特性中,主要讲解开发常用注解@Override@Deprecated@SuppressWarning

@Override

准确的重写

当重写方法时,为了保证子类所重写的方法的确是父类定义过的方法,可以加上@Override注解。这样当我们重写的这个方法出现错误,可以在编译时就检查出来。

@Deprecated

过期声明

在某个方法已经被大量使用,现在我们已经新写了一个功能更好的方法时,我们在就方法上加上注解@Deprecated。表明,这个方法已经过期,应该使用更好的方法,这个方法不删除因为还在使用。

@SuppressWarning

压制警告

这个类似于PHP中的@,在变量前加@可以屏蔽空值警告

某个方法在编译时可能出现安全警告,大量的安全警告使我们查看控制台出现困扰,我们可以压制警告,不让它打印输出。
    我们一般使用如下代码,来压制常见的两种警告:

@SuppressWarning({"rawtypes", "unchecked"})

获取编程资源

如果需要获取编程资源,请扫描关注我的公众号:

【Java挠头】可变参、foreach、Annotation等特性相关推荐

  1. Java 9 中的9个新特性

    转载自 强悍!Java 9 中的9个新特性 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布. Java 平台级模 ...

  2. Java番外篇2——jdk8新特性

    Java番外篇2--jdk8新特性 1.Lambda 1.1.无参无返回值 public class Test {interface Print{void print();}public static ...

  3. Java 9 中的 9 个新特性

    Java 9 中的 9 个新特性 Java 8 发布三年多之后,已经于在2017年9月21日发布了. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋 ...

  4. Java 7~14各个版本新特性详解

    Java 7 特性列表 switch中添加对String类型的支持 数字字面量的改进 / 数值可加下划 异常处理(捕获多个异常) try-with-resources 增强泛型推断 JSR203 NI ...

  5. 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】

    深圳Java培训学习:Java8.0新特性之Lambda表达式–[千锋] 前言 Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.本篇文章,主要给大家介绍的是lambda表 ...

  6. java 可控异常_java异常处理,重新认识java异常,java7异常处理的新特性!

    原标题:java异常处理,重新认识java异常,java7异常处理的新特性! 在程序中,错误可能产生于程序员没有预料的各种情况,或者是超出了程序员可控范围的环境因素,如用户的坏数据.试图打开一个根本不 ...

  7. Java第四次作业——面向对象高级特性(继承和多态)

    Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...

  8. java的foreach_深入理解java中for和foreach循环

    •for循环中的循环条件中的变量只求一次值!具体看最后的图片 •foreach语句是java5新增,在遍历数组.集合的时候,foreach拥有不错的性能. •foreach是for语句的简化,但是fo ...

  9. 【java】详解java中的注解(Annotation)

    目录结构: contents structure [+] 什么是注解 为什么要使用注解 基本语法 4种基本元注解 重复注解 使用注解 运行时处理的注解 编译时处理的注解 1.什么是注解 用一个词就可以 ...

  10. Java基础回归之注解Annotation【低仿ButterKnife实战篇】

    前言 书接上回,上回说到库里对战湖人三分10投0中,真真气煞我库也,这下把气全撒在鹈鹕身上,一口气轰下破纪录的13记三分. 上回说到Java基础回归之注解Annotation[基础篇],这回我们来真刀 ...

最新文章

  1. CTO怒了:“如果中台不省钱,我建个屁中台啊!”
  2. 苹果风格:分享一组免费的自定义 MacOS 图标
  3. 11个强大的Visual Studio调试小技巧
  4. 【项目管理】采购管理
  5. ML二:python批量修改文件名-测试KDTree
  6. 关于php单引号和双引号
  7. Unity2.0学习笔记-Unity2.0基础-HelloWorld
  8. SLAM++:面向对象的同时定位与建图系统(2013-CVPR)
  9. java io知识点汇总FIle类
  10. 《高质量程序设计指南——C++/C》(第三版)最新修订
  11. Python已知经纬度求两点距离
  12. 算法研究NO8.用数理统计法消除粗大误差
  13. 云优CMS企业网站管理系统 v2.2.2 分站版
  14. css方块跳动且颜色变化,CSS3 波动的方块
  15. 【丢不掉的爱好-Android01】兜兜转转
  16. Pycharm新建文件时,如何设置自动添加作者时间等信息
  17. Tesseract(识别验证码)
  18. 【sdx62】PBL阶段修改GPIO操作
  19. 中华数据库与运维安全大会全程解析
  20. C语言scanf()返回值以及EOF

热门文章

  1. Warning: Each child in a list should have a unique “key“ prop.
  2. Elsevier的Greg Landrum访谈 | 成功的开源化学信息软(RDKit)的要素是什么?
  3. composer更新_深入学习Composer原理(四)
  4. 读文献先读图——主成分分析 PCA 图
  5. Galaxy 生信平台(一):安装
  6. MPB:扬大林淼组-​瘤胃混合细菌连续传代培养技术
  7. 还找不到想要的文章吗?公众号搜索方法大全
  8. 综述 | 森林微生物组:多样性,复杂性和动态变化(IF:11.3)
  9. oracle12c dml语句缓存,Oracle --DML、DDL、DCL
  10. linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量