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

语法:

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. 网络编程网络协议篇(osi七层协议)

    一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...

  2. 阿里架构师浅析Java设计模式之虚拟代理模式

    虚拟代理模式(Virtual Proxy)是一种节省内存的技术,它建议创建那些占用大量内存或处理复杂的对象时,把创建这类对象推迟到使用它的时候.在特定的应用中,不同部分的功能由不同的对象组成,应用启动 ...

  3. python2.7官方文档阅读笔记

    官方地址:https://docs.python.org/2.7/tutorial/index.html 本笔记只记录本人不熟悉的知识点 The Python Tutorial Index 1 Whe ...

  4. Oracle中的字符函数

    Oracle中常用的字符串函数有以下几种: 1.upper()---将字符串的内容全部转换为大写.lower()---将字符串的内容全部转换为小写.具体用法: select  upper('test' ...

  5. vue入门:用户管理demo

    该demo纯前端实现 使用到vue技术点: 1.在该demo中使用到的vue指令:{{}}. v-if. v-model. @click v-for 2.在该demo中使用到的事件修饰符: .prev ...

  6. Redis|Sentinel 高可用架构

    一 前言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端 ...

  7. NuGet的安装和使用

    好久没有用NuGet了.今天项目中正好有需要.因长时间不用,所以还要去网上看攻略,索性记录下来免得再出现类似情况.(我是一个比较懒得人,不喜欢写博客园,平时都随手整理到本地PC上.以后要努力改掉这个坏 ...

  8. docker An error occurred 虚拟化错误解决

    问题: 本人电脑上装了VMware和docker,系统是win10专业版,然后今天想用下docker,打开报错,Hyper-V未开启,开启之后再次报错 An error occurred Hardwa ...

  9. 12 redis搭建主从服务(ubuntu)

    什么是主从服务 一个master可以拥有多个slave,一个slave可以拥有多个slave,如此下去,形成了多级服务器集群架构 master用来写数据, slave用来读数据, 经统计:网站的读写比 ...

  10. [翻译] C# 8.0 接口默认实现

    原文: Default implementations in interfaces 随着上周的 .NET Core 3.0 Prview 5 和 Visual Studio 2019 version ...