Java 中的菱形运算符
如果您正在寻找更简化的泛型使用方式,您应该看看 Java 的菱形运算符。 菱形运算符看起来像这样的 <>
,主要用于匿名内部类。
Java 中的这个特殊运算符将帮助您在创建对象时简化泛型的使用。 它将提高程序的可读性,并允许您避免程序中出现未经检查的警告。
在本文中,我们将看到菱形运算符 <>
的使用,并且我们将借助示例和解释来讨论该主题,以使该主题更容易。
Java 中的菱形运算符
关于菱形运算符最有趣的事情是我们可以创建泛型的对象而无需提及泛型的类型。 下面共享的通用语法用于使用菱形运算符创建对象:
ClassName<TYPE> MyObj = new ClassName<>();
请注意
,在运行 JDK 7 等较低版本的 JDK 时,无法使用菱形运算符。因此,要运行本文中的代码,您必须升级 JDK。
Java 中 Diamond 运算符的示例
下面的示例将演示如何在 Java 中使用菱形运算符。 让我们按照下面的示例代码进行操作,
class UsingDiamond {
// Declaring a generic method
static <T> void DisplayMsg(T data)
{
System.out.println("The input string is: " + data);
}
// Our controlling method ( Main method )
public static void main(String[] args)
{
// Call a generic method with a String argument
DisplayMsg("This is a string");
}
}
我们已经掌握了每条线的用途。 运行上面共享的示例代码后,您将在控制台中获得如下所示的输出。
The input string is: This is a string
让我们看另一个例子来让我们清楚地了解这个主题,
在下面的示例中,我们将创建一个抽象类并使用菱形运算符将其与主类链接。 看一下下面的例子:
abstract class AbstractClass<T> { //Declaring a abstract class
abstract T Sum(T num1, T num2); // Declaring a abstract method
}
// Our main class
public class UsingDiamond {
public static void main(String[] args){
AbstractClass<Integer> obj = new AbstractClass<>() { // Creating an object for the abstract class
Integer Sum(Integer n1, Integer n2){ // Defining the abstract method
return (n1 + n2);
}
};
Integer result = obj.Sum(30, 20); // Calling the abstract method.
System.out.println("The result is: " + result);
}
}
我们已经掌握了每行代码的用途。 运行上面共享的示例代码后,您将在控制台中获得如下所示的输出。
The result is: 50
请注意
,此处共享的代码示例是 Java 语言。 如果您的系统不包含 Java,则必须在您的环境中安装 Java。
相关文章
Java中的接口默认方法
发布时间:2023/08/01 浏览次数:125 分类:Java
-
本文介绍如何在Java中使用接口中的默认方法。Java中的接口默认方法 在接口只有抽象方法之前,Java 8 就引入了默认方法。 默认或防御方法允许开发人员在不破坏实现的情况下向接口添加新方法
Java 中的静态接口
发布时间:2023/08/01 浏览次数:73 分类:Java
-
请注意,当接口是嵌套的或另一个接口的子接口时,您可以将接口声明为静态。在 Java 的嵌套接口中使用 static
在 Java 中使用索引和 forEach
发布时间:2023/08/01 浏览次数:135 分类:Java
-
在本文中,我们将学习如何将 forEach() 函数与索引组合一起使用。 此外,我们将通过使用必要的示例和解释来涵盖该主题,以使该主题更容易。
Java 中的并行处理
发布时间:2023/08/01 浏览次数:127 分类:Java
-
在本文中,我们将了解 Java 中的并行处理,以及必要的示例和解释,以使主题变得更容易。并行处理和顺序处理之间的区别
Java 中的装饰器
发布时间:2023/08/01 浏览次数:80 分类:Java
-
装饰器设计模式使用户能够动态添加功能并设置对象的行为,而不影响其对象的行为。 为了扩展类的行为,装饰器大多使用继承。
将InputStream转换为Java中的文件对象
发布时间:2023/08/01 浏览次数:105 分类:Java
-
我们将根据 Java 版本,使用不同的方式编写不同的示例代码,将 InputStream 转换为 File 对象。 下面给出了一些方法:使用纯Java将InputStream转换为文件对象
Java 中的八皇后问题
发布时间:2023/08/01 浏览次数:188 分类:Java
-
本文介绍了 Java 中的八皇后问题。Java 中的八皇后问题 八皇后问题是我们必须将八个皇后放置在 8x8 的棋盘上,并且不能互相攻击。
在 Java 中反序列化 JSON
发布时间:2023/08/01 浏览次数:99 分类:Java
-
本文介绍如何在 Java 中反序列化 JSON。在 Java 中反序列化 JSON 提供了用于 JSON 操作的不同库。 这些库还可以在 Java 中序列化和反序列化 JSON 对象。