【Java挠头】可变参、foreach、Annotation等特性
–本文摘要–
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等特性相关推荐
- Java 9 中的9个新特性
转载自 强悍!Java 9 中的9个新特性 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布. Java 平台级模 ...
- Java番外篇2——jdk8新特性
Java番外篇2--jdk8新特性 1.Lambda 1.1.无参无返回值 public class Test {interface Print{void print();}public static ...
- Java 9 中的 9 个新特性
Java 9 中的 9 个新特性 Java 8 发布三年多之后,已经于在2017年9月21日发布了. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋 ...
- Java 7~14各个版本新特性详解
Java 7 特性列表 switch中添加对String类型的支持 数字字面量的改进 / 数值可加下划 异常处理(捕获多个异常) try-with-resources 增强泛型推断 JSR203 NI ...
- 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】
深圳Java培训学习:Java8.0新特性之Lambda表达式–[千锋] 前言 Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.本篇文章,主要给大家介绍的是lambda表 ...
- java 可控异常_java异常处理,重新认识java异常,java7异常处理的新特性!
原标题:java异常处理,重新认识java异常,java7异常处理的新特性! 在程序中,错误可能产生于程序员没有预料的各种情况,或者是超出了程序员可控范围的环境因素,如用户的坏数据.试图打开一个根本不 ...
- Java第四次作业——面向对象高级特性(继承和多态)
Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...
- java的foreach_深入理解java中for和foreach循环
•for循环中的循环条件中的变量只求一次值!具体看最后的图片 •foreach语句是java5新增,在遍历数组.集合的时候,foreach拥有不错的性能. •foreach是for语句的简化,但是fo ...
- 【java】详解java中的注解(Annotation)
目录结构: contents structure [+] 什么是注解 为什么要使用注解 基本语法 4种基本元注解 重复注解 使用注解 运行时处理的注解 编译时处理的注解 1.什么是注解 用一个词就可以 ...
- Java基础回归之注解Annotation【低仿ButterKnife实战篇】
前言 书接上回,上回说到库里对战湖人三分10投0中,真真气煞我库也,这下把气全撒在鹈鹕身上,一口气轰下破纪录的13记三分. 上回说到Java基础回归之注解Annotation[基础篇],这回我们来真刀 ...
最新文章
- CTO怒了:“如果中台不省钱,我建个屁中台啊!”
- 苹果风格:分享一组免费的自定义 MacOS 图标
- 11个强大的Visual Studio调试小技巧
- 【项目管理】采购管理
- ML二:python批量修改文件名-测试KDTree
- 关于php单引号和双引号
- Unity2.0学习笔记-Unity2.0基础-HelloWorld
- SLAM++:面向对象的同时定位与建图系统(2013-CVPR)
- java io知识点汇总FIle类
- 《高质量程序设计指南——C++/C》(第三版)最新修订
- Python已知经纬度求两点距离
- 算法研究NO8.用数理统计法消除粗大误差
- 云优CMS企业网站管理系统 v2.2.2 分站版
- css方块跳动且颜色变化,CSS3 波动的方块
- 【丢不掉的爱好-Android01】兜兜转转
- Pycharm新建文件时,如何设置自动添加作者时间等信息
- Tesseract(识别验证码)
- 【sdx62】PBL阶段修改GPIO操作
- 中华数据库与运维安全大会全程解析
- C语言scanf()返回值以及EOF
热门文章
- Warning: Each child in a list should have a unique “key“ prop.
- Elsevier的Greg Landrum访谈 | 成功的开源化学信息软(RDKit)的要素是什么?
- composer更新_深入学习Composer原理(四)
- 读文献先读图——主成分分析 PCA 图
- Galaxy 生信平台(一):安装
- MPB:扬大林淼组-​瘤胃混合细菌连续传代培养技术
- 还找不到想要的文章吗?公众号搜索方法大全
- 综述 | 森林微生物组:多样性,复杂性和动态变化(IF:11.3)
- oracle12c dml语句缓存,Oracle --DML、DDL、DCL
- linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量