From 77d99bbd22784457dd15b2f763d94a95fd032f0e Mon Sep 17 00:00:00 2001 From: Dennis Ryumin Date: Sun, 13 Feb 2022 15:52:55 +0300 Subject: [PATCH] generic class examle --- .gitignore | 45 ++++++++++++++++++++ src/com/katapios/DoubleElementGenerator.java | 8 ++++ src/com/katapios/GenericClass.java | 9 ++++ src/com/katapios/IntElementGenerator.java | 8 ++++ src/com/katapios/Main.java | 18 ++++++++ src/com/katapios/StringElementGenerator.java | 8 ++++ 6 files changed, 96 insertions(+) create mode 100644 .gitignore create mode 100644 src/com/katapios/DoubleElementGenerator.java create mode 100644 src/com/katapios/GenericClass.java create mode 100644 src/com/katapios/IntElementGenerator.java create mode 100644 src/com/katapios/Main.java create mode 100644 src/com/katapios/StringElementGenerator.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a612090 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +*.java.hsp +*.sonarj +*.sw* +.DS_Store +.settings +.springBeans +bin +build.sh +integration-repo +ivy-cache +jxl.log +jmx.log +derby.log +spring-test/test-output/ +.gradle +argfile* +activemq-data/ + + +/build +buildSrc/build +/spring-*/build +/spring-core/kotlin-coroutines/build +/framework-bom/build +/integration-tests/build +/src/asciidoc/build +target/ + +# Eclipse artifacts, including WTP generated manifests +.classpath +.project +spring-*/src/main/java/META-INF/MANIFEST.MF + +# IDEA artifacts and output dirs +*.iml +*.ipr +*.iws +.idea +out +test-output +atlassian-ide-plugin.xml +.gradletasknamecache + +# VS Code +.vscode/ \ No newline at end of file diff --git a/src/com/katapios/DoubleElementGenerator.java b/src/com/katapios/DoubleElementGenerator.java new file mode 100644 index 0000000..036f867 --- /dev/null +++ b/src/com/katapios/DoubleElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface DoubleElementGenerator { + + Double next(Double current); + +} diff --git a/src/com/katapios/GenericClass.java b/src/com/katapios/GenericClass.java new file mode 100644 index 0000000..af7350d --- /dev/null +++ b/src/com/katapios/GenericClass.java @@ -0,0 +1,9 @@ +package com.katapios; + +public class GenericClass { + + public T nextElement(T current){ + return current; + } + +} diff --git a/src/com/katapios/IntElementGenerator.java b/src/com/katapios/IntElementGenerator.java new file mode 100644 index 0000000..4663df8 --- /dev/null +++ b/src/com/katapios/IntElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface IntElementGenerator { + + Integer next(Integer current); + +} diff --git a/src/com/katapios/Main.java b/src/com/katapios/Main.java new file mode 100644 index 0000000..58080bd --- /dev/null +++ b/src/com/katapios/Main.java @@ -0,0 +1,18 @@ +package com.katapios; + +public class Main { + + public static void main(String[] args) { + GenericClass genericClass = new GenericClass(); + + IntElementGenerator nextIntElement = genericClass::nextElement; + DoubleElementGenerator nextDoubleElement = genericClass::nextElement; + StringElementGenerator nextStringElement = genericClass::nextElement; + + //IntElementGenerator nextElementInt = genericClass::nextElement; + + System.out.println(nextIntElement.next(12)); + System.out.println(nextDoubleElement.next(12.0)); + System.out.println(nextStringElement.next("12")); + } +} diff --git a/src/com/katapios/StringElementGenerator.java b/src/com/katapios/StringElementGenerator.java new file mode 100644 index 0000000..217b5b1 --- /dev/null +++ b/src/com/katapios/StringElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface StringElementGenerator { + + String next(String current); + +}