java范型定义数据类型
时间: 2023-11-20 12:59:29 浏览: 33
Java泛型是Java SE 5中引入的一个新特性,它允许在定义类、接口和方法时使用类型参数。通过使用泛型,可以在编译时检查代码的类型安全性,并且可以在运行时避免ClassCastException异常。以下是Java泛型定义数据类型的示例:
1. 定义一个泛型类
```java
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
```
2. 定义一个泛型接口
```java
public interface List<T> {
void add(T t);
T get(int index);
}
```
3. 定义一个泛型方法
```java
public class Util {
public static <T> T add(T t1, T t2) {
return t1 + t2;
}
}
```
在上述示例中,`<T>`表示类型参数,可以在类、接口或方法中使用。在运行时,类型参数将被替换为实际的类型。例如,`Box<String>`表示一个具有String类型的t属性的Box类。
相关问题
java 范型类做除法
你可以这样实现一个范型类来进行除法运算:
```java
public class Division<T extends Number> {
private T numerator;
private T denominator;
public Division(T numerator, T denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public double divide() {
return numerator.doubleValue() / denominator.doubleValue();
}
}
```
在这个例子中,我们定义了一个范型类 `Division`,它可以处理任何类型的数值,只要它是 `Number` 的子类。这个类接受两个数值,分别是被除数和除数,并且提供了 `divide` 方法,用于计算两个数的商。
需要注意的是,我们使用 `doubleValue()` 方法将 `Number` 类型的数值转换为 `double` 类型的数值,这是因为 Java 的除法运算只能对浮点数进行,所以我们需要将数值转换为浮点数才能进行除法运算。
JAVA 在范型方法中创建泛型对象
可以使用 Class 类的 newInstance() 方法来创建泛型对象。例如,以下是一个创建泛型对象的示例代码:
public static <T> T createInstance(Class<T> clazz) throws Exception {
return clazz.newInstance();
}
在调用该方法时,可以传入任何一个 Class 类型的参数,该方法将返回一个泛型对象。例如,以下是一个使用该方法创建 String 对象的示例代码:
String str = createInstance(String.class);