首页 > 其他分享 >泛型

泛型

时间:2023-06-17 14:45:19浏览次数:32  
标签:arr printArray 泛型 sb 方法 public

package com.itheima.d9_genericity_method;

/**
目标:自定义泛型方法。

什么是泛型方法?
定义了泛型的方法就是泛型方法。

泛型方法的定义格式:
修饰符 <泛型变量> 返回值类型 方法名称(形参列表){

}
注意:方法定义了是什么泛型变量,后面就只能用什么泛型变量。
泛型类的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。

需求:给你任何一个类型的数组,都能返回它的内容。Arrays.toString(数组)的功能!

小结:
泛型方法可以让方法更灵活的接收数据,可以做通用技术!
*/
public class GenericDemo {
public static void main(String[] args) {
String[] names = {"小璐", "蓉容", "小何"};
printArray(names);

Integer[] ages = {10, 20, 30};
printArray(ages);

Integer[] ages2 = getArr(ages);
String[] names2 = getArr(names);
}

public static <T> T[] getArr(T[] arr){
return arr;
}

public static <T> void printArray(T[] arr){
if(arr != null){
StringBuilder sb = new StringBuilder("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]).append(i == arr.length - 1 ? "" : ", ");
}
sb.append("]");
System.out.println(sb);
}else {
System.out.println(arr);
}
}
}

标签:arr,printArray,泛型,sb,方法,public
From: https://www.cnblogs.com/1994xiaojian/p/17487469.html

相关文章

  • c# 使用反射调用泛型方法
    简单记录一次反射的使用。目前有一个DbService的ListQuery(stringexpression=“”)方法,需要根据下拉框选择不同的数据实体类,更新Wpf的Datagrid数据,简单如下图。......
  • java 泛型 深入
    评:泛型的好处:(casting)的绝对无误。/*******不使用泛型类型*******/Listlist1=newArrayList();list1.add(8080);//编译器不检查值String......
  • C# Type传参转换成泛型T
    publicclassTest{publicvoidExport<T1,T2>(){}publicvoidExportByClassName(stringtypename1,stringtypename2){Typet1=Type.GetType(typename1);Typet2=Type.GetType(typename2);Method......
  • 第四单元 泛型
    1.什么是泛型编写一个方法,实现两数相加并返回结果。 作用泛型增强了代码的可读性泛型有助于实现代码的重用、保护类型的安全以及提高性能。我们可以创建泛型集合类。泛型实现了类型和方法的参数化我们还可以对泛型类进行约束以访问特定数据类型的方法。......
  • Java的泛型
    泛型是我们需要的程序设计手段。使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。至少在表面上看来,泛型很像C++中的模板。与Java—样,在C++中,模板也是最先被添加到语言中支持强类型集合的。但是,多年之后人......
  • 【技术积累】Java中的泛型【一】
    泛型是什么Java中的泛型是一种能够让用户在编写代码时避免使用明确的类型而进行类型参数化的机制。Java中的泛型可以让编程者在代码编写时不必关心具体类型,只用关心类型之间的关系和相互转换,从而在编写代码的过程中实现类型的复用。这使得代码更加简洁、可读性更高,并且可以提高代......
  • 9.17 泛型方法
    实际开发中非常常见没有定义泛型类,可以直接定义使用泛型方法;泛型方法不一定就出现在泛型类之中.publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){Integernum[]=fun(1,2,3);//传入了整数,for(inttmp:num){System......
  • 9.16 泛型接口
    对于泛型接口的子类而言,有2种实现方式demo1在子类中继续进行泛型定义interfaceIMessage<T>{publicStringecho(Tt);}classMessageImpl<S>implementsIMessage<S>{publicStringecho(St){return"[echo]"+t;}}publicclassHello......
  • 9.15 泛型通配符
    demo1“<?>“classMessage<T>{//定义泛型类对象privateTcontent;//泛型属性publicvoidsetContent(Tcontent){this.content=content;}publicTgetContent(){returnthis.content;}}publicclassHelloWorld{......
  • 9.14 泛型的基本定义
    demo1classPoint<T>{//T属于类型标记,可以设置多个标记privateTx;privateTy;publicvoidsetX(Tx){this.x=x;}publicvoidsetY(Ty){this.y=y;}publicTgetX(){returnthis.x;}publicT......