泛型接口就是拥有一个或多个类型参数的接口

语法:

public interface 接口名<类型形参>{
方法名(类型形参 类型形参实例);
}
示例:
public interface TestInterface<T>{
public T print(T x)
}

需要注意的是,不具体指定数据类型,由使用此接口的用户决定数据类型。

实例:定义姓名,年龄性别,并赋值输出。

首先定义姓名,年龄,性别属性

    private T name;
private E age;
private K sex;

并生成对应的get set方法.

在主方法中创建对象,并指定传入的数据类型。

Student<String, Integer, Character>stu=new Student<String, Integer, Character>();

然后用set方法存入,最后输入姓名,年龄,性别

运行结果:张 22 男

Java API

Java API 即Java应用程序接口,它是运行库的集合,预先定义了一些接口和类,程序员可以直接使用已经打包好的接口和类做具体的应用。

Java语言的强大之处在于它提供了多种多样的类库,从而大大提高了程序编程的效率和质量。

Java API提供的常用包

java.lang  包装类、Math类、String类等    提供了java程序的基础类和接口

java,util Collection、List和Map等集合接口和类  系统辅助类

java.io 字节流、字符流等   文件操作类‘

java.net   Socket ServerSocket等类   网络编程相关类

java.sql  Connection  Statement等类 数据库相关类

枚举

语法:

[Modifier] enum enumName{
enumContantName1[,enumConstantName2...[;]]
//[field,method]
}

枚举指由一组固定的常量组成的类型

使用枚举的好处

类型安全、代码清晰、易于输入

包装类

Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,为了解决这个不足,在设计类时为每个基本类型设计了一个对应的类,称为包装类

包装类是件基本类型封装到一个类中,包含属性和方法,方便对象操作,包装类位于java.lang包中

包装类和基本数据类型对应表(基本类型     包装类)

byte  Byte

boolean  Boolean

short  Short

char  Character

int  Integer

long  Long 

float   Float

double  Double

基本数据类型转换为包装类

Integer int Value=new Integer(21);

或Integer intValue=new Integer("21");

Integer intValue=Integer.valueOf("21")

包装类转换成基本类型

Integer integerld=new Integer(25);

int intld=integerld.intValue();

基本类型和包装类的自动转换

Integer intObject=5;

int intValue=intObject;

Math类

java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率);

Random类可以生成随机数

Random生成随机数实例:

需求说明及分析

编码实现双色球的功能

分析:双色球规则红球33选6,蓝球16选1,不允许重复,使用Math类的random()方法再1-33内随机产生6个红球号码,每产生一个判断是否已经在数组中存在,不存在则保存于数组,否则重选,从1-16见随机产生一个蓝球号码

package com.caipiao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
//产生1--33的数字,不重复,升序
List<Integer> list=new ArrayList<Integer>();
//产生随机数
//循环添加,循环次数不确定
System.out.println("中奖号码:");
while (true) {
int rand=(int)((Math.random()*33)+1);
//产生的随机数在集合中不存在,则添加
if(!list.contains(rand)){
list.add(rand);
}
//判断
if(list.size()==6){
break;//退出循环
}
}
//排序
Collections.sort(list);
//遍历输出
for (Integer integer : list) {
System.out.print(integer+" ");
}
int rand=(int)((Math.random()*16)+1);
System.out.println("+"+rand);
}
}

输出结果为(随机):

中奖号码:
3 5 9 15 16 28 +6

equals():检查组成字符串内容的字符是否完全一致

==:判断两个字符串在内存中的首地址,即判断是否是同一个字符串对象

将小写转换为大写:toUpperCase()

将大写转换为小写:toLowerCase()

泛型接口、JAVA API、包装类的更多相关文章

  1. Java API ——包装类

    1.包装类的概述 · 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. · 常用的操作之一:用于基本数据类型与字符串之间的转换. · 基本类型和包装类的对应 为了对基本数据 ...

  2. Java API 快速速查宝典

    Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...

  3. 浅谈Java的包装类

    一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...

  4. mybatis Java API

    既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDBC 相比, MyB ...

  5. Java数据持久层框架 MyBatis之API学习八(Java API详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  6. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  7. MyBatis——Java API

    Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...

  8. Mybatis学习--Java API

    学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/java-api.html#directoryStructure 既然你已经知道如何配 ...

  9. Java-MyBatis: MyBatis3 | Java API

    ylbtech-Java-MyBatis:  MyBatis3 | Java API 1.返回顶部 1. Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升 ...

随机推荐

  1. viewpager+fragment结合

    public class MainActivity extends AppCompatActivity implements View.OnClickListener { private ViewPa ...

  2. 通过Blazor使用C#开发SPA单页面应用程序(1)

    2019年9月23——25日 .NET Core 3.0即将在.NET Conf上发布! .NET Core的发布及成熟重燃了.net程序员的热情和希望,一些.net大咖也在积极的为推动.NET Co ...

  3. intellij idea与github整合管理代码

    各位看官大家好,博主每每在公司学习新知识写代码时都需要通过U盘带回家来继续每天的学习,觉得这样实在麻烦,于是今天就整合了一下github来完成代码的管理. 开始之前我们需要准备三样东西:1.intel ...

  4. 探究光线追踪技术及UE4的实现

    目录 一.光线追踪概述 1.1 光线追踪是什么 1.2 光线追踪的特点 1.3 光线追踪的历史 1.4 光线追踪的应用 二.光线追踪的原理 2.1 光线追踪的物理原理 2.2 光线追踪算法 2.3 R ...

  5. Django安装于基本介绍

    pycharm果然是最强大的python IDE,在创建Diango项目时如果没有则自动下载. 然而即使是这样,我在安装Django的时候还是比较曲折的. Django的安装方式有很多,但是因为网络问 ...

  6. ceph存储基础概念

    一.分布式文件系统: 是指文件系统管理的物理存储资源不一定直接是连接在本地节点上,而是通过计算机网络与节点相连. 分布式文件系统的设计基与C/S架构(客户端/服务器) 常见的分布式文件系统:Ceph. ...

  7. springboot + jedisCluster

    如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制. 如果使用的是redis3.x中的集群,在项目中使用jedisCluster. 1.项目结构 2.pom.xml 1 <? ...

  8. 分布式CAP理论

    分布式CAP理论 来自wiki: 在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下 ...

  9. 集成 Spring Boot 常用组件的后台快速开发框架 spring-boot-plus 国

    spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架 Purpose 每个人都可以独立.快速.高效地开发项目! Everyone can develop pr ...

  10. 解读BloomFilter算法(转载)

    1.介绍 BloomFilter(布隆过滤器)是一种可以高效地判断元素是否在某个集合中的算法. 在很多日常场景中,都大量存在着布隆过滤器的应用.例如:检查单词是否拼写正确.网络爬虫的URL去重.黑名单 ...