关于JAVA泛型方法的小问题

import java.util.ArrayList;

public class GenericStack {
ArrayList list = new ArrayList<>();
public int getSize(){
return list.size();
}
public E peek(){
return list.get(list.size() - 1);
}
public void push(E e){
list.add(e);
}
public E pop(){
E e = list.get(list.size() - 1);
list.remove(getSize() - 1);
return e;
}
public boolean isEmpty(){
return list.isEmpty();
}
}

为什么像push方法不是一个泛型方法而void前面不要加上呢?到底什么才
是泛型方法啊?

2个回答

因为泛型参数已经在类中定义了,成员方法不需要再定义。
如果你用了类中没有的泛型参数,或者你的类不是泛型类,泛型方法才需要写泛型参数。

qq_33179811
yhljkhjhlkhkjl 谢谢,受教了。
4 年多之前 回复

泛型就是用来约束父类的数据类型,以多态的形式体现。子类的数据类型确定,而父类的数据类型随机。子类继承父类时,限定父类的数据类型,就可以使用父类该类型的数据

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于泛型和重载的小问题

 首先描述问题,看代码。代码例子:view plaincopy to clipboardprint?import java.util.ArrayList;   public class Test {       public static String test(ArrayList list){           return "";       }       public static Integer test(ArrayList list){           return 1;       } 

数组的两个小问题

1.不可以对数组名(指针常量)进行赋值操作2.对数组进行整体赋值只能在最初声明的时候进行。

关于Java泛型的面试题

1. Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人 都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它提供了编译期的类型安全,确保你只能把正确类型的对象放入 集合中,避免了在运行时出现ClassCastE

java 泛型方法使用示例

java 泛型方法使用示例 java 泛型方法使用示例 java 泛型方法使用示例

[疯狂Java]泛型:泛型方法、泛型方法VS类型通配符(?)

1. 定义泛型方法:     1) 如果你定义了一个泛型(类、接口),那么Java规定,你不能在所有的静态方法、静态初块等所有静态内容中使用泛型的类型参数!!例如: class A { public static void func(T t) { // 错误!在所有静态内容中不得使用泛型的类型参数 } }!!这个原因会在泛型底层原理中详细介绍,这里就只要先记住这个规则就行了!!

从头认识java-13.4 泛型方法的使用

这一章节我们来讨论一下泛型方法的使用。泛型除了可以作用在类、接口上面,还可以作用在方法上面。1.例子package com.ray.ch13; public class Test { public void test(T x) { System.out.println(x.getClass().getName()); } public static void main(String

JAVA泛型方法的声明与实现

package chenqian.generic; public class GernericMethodTest { public static void printArray(T inputArrays[]){ /*1.遍历数组*/ for(T array:inputArrays){ System.out.print(array); } System.out.pr

java泛型方法--显式的类型说明

最近在学习guava这个类库的时候发现了一个比较少见的语法public class ImmutableDemo { public static void main(String[] args) { ImmutableSet<String> set=ImmutableSet.of("a","b","c","d"); ImmutableSet<String> se

Java泛型---泛型方法和泛型类介绍及实例

Java 泛型 如果我们只写一个排序方法,就能够对整形数组、字符串数组甚至支持排序的任何类型的数组进行排序,这该多好啊。 Java泛型方法和泛型类支持程序员使用一个方法指定一组相关方法,或者使用一个类指定一组相关的类型。 Java泛型(generics)是JDK 5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。 使用Java

定义一个泛型方法

定义一个泛型方法

泛型方法的定义与使用

泛型方法的定义与使用

java 泛型详解-绝对是对泛型方法讲解最详细的

对Java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方

Java -- 泛型表达式和泛型方法调用中的类型擦除(三)

Java -- 泛型表达式和泛型方法调用中的类型擦除(三) 承接上一篇中的内容。当我们在使用泛型操作时,编译器会给我们的某些操作自动地、隐式地插入强制类型转换。先看一个示例代码:/** * Generic class without limited type variable * * @author xzm * @param * Generic typ

java泛型方法的使用(二)

定义泛型方法语法格式如下:               调用泛型方法语法格式如下:        说明一下,定义泛型方法时,必须在返回值前边加一个,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。        Class的作用就是指明泛型的具体类型,而Class类型的变量c,可以用来创建泛型类的对象。     

【Java】关于泛型:泛型类、泛型接口和泛型方法

有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。 泛型类 容器类应该算得上最具重用性的类库之一。先来看一个没有泛型的情况下的容器类如何定义: public class Container { private String key; private String value; public Container(String k, S

java:数组操作的两个常见小问题越界和空指针

package day02; public class Array { public static void main(String[]args){ int[] arr = new int[3]; // * a:ArrayIndexOutOfBoundsException:数组索引越界异常 // * 原因:你访问了不存在的索引。...

Java泛型方法重写问题

java中的泛型是采用类型擦除的方式来实现,也即编译后所有原始类型的泛型类都共享同一份目标代码,例如这里的A<T>编译器编译为A,那么编译器对于引用类中泛型的方法,也即泛型方法进行类型擦除操作时是如何实现的呢?答案是采用最左边类型(当前T的初始具体父类型)来代替。

java 协变式覆盖与泛型重载

整理两篇文章《Java Generics and Collections》读书笔记三:协变式覆盖与泛型重载  与   关于泛型和重载的小问题 《Java Generics and Collections》读书笔记三:协变式覆盖与泛型重载 :http://blog.csdn.net/jk88811/article/details/1794866  关于泛型和重载的小问题:  h

Java泛型 翻译泛型方法

翻译泛型表达式、泛型

java使用泛型进行数组交换

private static void swap(T[] a,int i,int j){ T tmp = a[i]; a[i] = a[j]; a[j] = a[i]; } 这个的尖括号的作用就是声明T是泛型。 swap(new String[]{"abc","xyz","itcase"},1,2); 为什么不用 swap(new int[]{"1,2,3,4"}

调用泛型方法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace com { class Program { static voi

java中的数组的常见操作问题

数组操作常见操作     对数组操作最基本的动作就是存和取。     核心思想:就是对角标的操作。     示例:遍历并打印数组元素 class ArrayDemo{ public static void main(String[] args) { int[] arr = {89,34,270,17}; for

Java<>泛型方法

问题:编写一个泛型方法add(),当传入不同数字类型的值时,能够进行加法运算,(如可以传入int、long、float、double类型,但要对传入的值做一定的限定,如必须是数字)。   解决:利用泛型编写。 public class GenericAdd { // 泛型方法实现两个数相加 public double add(T t1, T t2) { double sum =

java中定义泛型类和定义泛型方法的写法

1.方法中的泛型 public static T backSerializable(Class clazz , String path ,String fileName){ FileInputStream fis = null; ObjectInputStream ois = null; Object obj = null; try { fis = n

定义泛型方法

package com.zyf.day27_1; import org.junit.Test; public class GenericDemo { //定义泛型方法 public T save(T t,K k){ return null; } //测试方法 @Test public void testMethod() throws Exception{ //使

泛型方法在普通类中的使用

转载自:http://blog.csdn.net/titilover/article/details/6859055一. 为什么要使用泛型程序设计         泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。例如,我们不希望为聚集String和File对象分别设计不同的类。实际上根本不需要那么做,因为一个ArrayList类可以聚集任何类型的对象。这是一个泛型程序设计的实例。在Ja...

Java泛型方法定义及泛型类型推断

泛型的推断 @Test public void test3(){ //类型推断时使用两个类型的最大公约数 int x1 = add(3,4); Number x2 = add(3.5,4); Object obj = add(3,"abc"); } //在返回类型前加上<T> public <T>

Java泛型方法定义及方法前加<T>详解

首先要说明代表泛型,但不止T还有A、B、K、V等都是用到了java的泛型中,如果是容器类可以使用E,若键值匹配可以用K(Key)和V(Value)等,若是,则是默认是允许Object及其下的子类,也就是java的所有对象了; 首先看如下泛型方法: public static T defaultIfBlank(T str, T defaultStr) { retu

Java静态泛型方法

Java在JDK 5中引入了泛型,使用起来方便了很多,下面是一段很常见的泛型使用: ListString> list = new ArrayListString>(); 泛型方法使用 不仅集合中可以使用,在定义类和方法的时候也是经常使用的,但是关于泛型的静态方法使用的场景还是不太多。下面从求两个数的最大数的实现上来看一下它们的简单使用: 普通泛型方法 package me.

Java泛型静态方法调用问题

public class HibernateManageUtil {//添加public static void addObject(T t){Session s = null ;Transaction ts = null ;try{s = HibernateUtil.getSession() ;ts = s.beginTransaction() ;s.save(t

Java之方法的重写、重载、泛型

1.方法重载:发生在编译时。方法的重载也被称为编译时多态,因为编译器可以根据参数的类型来选择使用哪个方法。 public class{ public static void fun(String param1); //方法1 public static void fun(int param1); //方法2

Java中声明泛型方法

泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的类型为Object。        但是Java中的泛型方法就比较复杂了。        泛型类,是在实例化类的时候指明泛型的具体类型;泛型方

JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符

JAVA(二十一)——泛型的概述 不知不觉JAVA之旅已经写到21篇了,不得不感叹当初自己坚持要重学一遍JAVA的信念,中途也算是非常的痛苦吧,不过熬到现在,已经算是有点效果了,继续加油,估计三十来篇就能结束自己的JAVA之旅了,go,go! 一.泛型的概述 什么是泛型,我们可以用一个很典型的例子来说明 package com.lgl.hellojava;import java.util.A

当泛型遇到重载

当泛型遇到重载 标签: 泛型重载 2012-10-04 12:53 5001人阅读 评论(10) 收藏 举报  分类: java语言(68)  笔试面试(102)  版权声明:本文为博主原创文章,未经博主允许不得转载。 当泛型遇到了重载,好戏,就发生了。 请看下面代码: 问题:代码能正确编译吗? 这个题目是一个考察泛型的题目。Jav

Java泛型详解——绝对是对泛型方法讲解最详细的,没有之一!

点击上方“Java团长”,选择“置顶公众号”干货文章第一时间送达!1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为...

泛型方法和泛型参数

最早接触泛型应该是在Java各种容器上面,这样写的好处是避免取值时类型转换出错的可能性,而且指定泛型后get也不需要手动强转。 List&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&amp;gt;(); 类或接口上泛型 在继承或实现类或接口时,指定泛型的类型,重载的方法会替换相应的参数类型,泛型不一定是T,其他字母也可以,不过约定俗成: ? ...

java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传

动态调用泛型方法

今天一个地方要用到泛型方法,但是泛型里的类型只有runtime才知道,找了很久,发现可以利用反射去动态调用。  public static void InvokeStaticGenericMethod(object[] args,Type classType,string methodName,Type genericType) { try { MethodInfo mi = classType.GetM

关于Java的泛型方法

文章参考自:http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html 有泛型方法还有泛型类。 类似于如下代码定义的泛型是泛型方法 : package com.test.GenericTest; import java.util.ArrayList; import java.util.List;

泛型集合 and 自定义泛型方法

package cn.wonders.generic; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set;

java 泛型方法定义规则

Following are the rules to define Generic Methods All generic method declarations have a type parameter section delimited by angle brackets (< and >) that precedes the method’s return type ( < E > in t

如何通过反射调用类中的<泛型>方法

定义的接口: namespace IProgramShut { public interface IShut { /// /// 操作名称 /// string OperatorName { get; } /// ///

java泛型表达式和方法工作原理小结

java编译器在处理泛型表达式和泛型方法时的原理,明确编程人员,编译器和虚拟机之间的分工。

Java泛型类泛型方法

Java泛型类和泛型方法

Java基础泛型Static方法

package pkg;/** * Created by sanmao on 2016/6/29. */ public class Static { /** * 从上篇讲带有限制通配符的博客,我们看到totalArea方法是泛型方法,因为它能够接收不同的参数 * 但是这里没有特定类型的参数表,正如 GenericMeoryCell类的声明中所作的那样,有时候特定类型很重

Java自定义泛型方法

泛型方法使得该方法能独立于类而产生变化。我们可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。   以下是一个基本的指导原则: 无论何时,只要你能做到,你就应该尽量使用泛型方法。也就是说,如果使用泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法,因为它可以使事情更清楚明白。另外,对于一个static的方法而言,无法...

Java中的泛型方法演示代码

Java中的泛型方法演示代码

Java泛型实例

Java泛型,泛型接口、泛型方法实例

第27条 泛型——优先考虑泛型方法

术语:  递归类型限制:通过某个包含该类型参数本身的表达式来限制类型参数。         考虑如下的方法,它的作用是返回两个集合的联合: [java] view plain copy // Users raw types - unaccepable!   public static Set union(Set s1,

java泛型程序设计——定义简单泛型类+泛型方法

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java泛型程序设计 的 定义泛型类+泛型方法的知识;【1】一个泛型类: 就是具有一个或多个类型变量的类;1.1)看个荔枝:public class Pair<T> { private T first; private T second; public Pair() { f

相关热词 c#分级显示数据 c# 不区分大小写替换 c#中调用就java c#正则表达式 验证小数 c# vscode 配置 c#三维数组能存多少数据 c# 新建excel c#多个文本框 c#怎么创建tcp通讯 c# mvc 电子病例
立即提问