diff --git a/Semester 3/GenericRules/genericsRules.pdf b/Semester 3/GenericRules/genericsRules.pdf new file mode 100644 index 0000000..163b294 Binary files /dev/null and b/Semester 3/GenericRules/genericsRules.pdf differ diff --git a/Semester 3/GenericRules/nb-configuration.xml b/Semester 3/GenericRules/nb-configuration.xml index e9f049f..009a78e 100644 --- a/Semester 3/GenericRules/nb-configuration.xml +++ b/Semester 3/GenericRules/nb-configuration.xml @@ -13,6 +13,7 @@ You can copy and paste the single properties, into the pom.xml file and the IDE That way multiple projects can share the same settings (useful for formatting rules for example). Any value defined here will override the pom.xml file value but is only applicable to the current project. --> - JDK_20__System_ + Graal_JDK_20 + true diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule7.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule7.java index 993ffd5..db0eeae 100644 --- a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule7.java +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule7.java @@ -34,11 +34,11 @@ public class GenericRule7 { } } -class A { -} +//class A { +//} -class B extends A { -} +//class B extends A { +//} -class C extends B { -} +//class C extends B { +//} diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule8.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule8.java index 2985112..82529ad 100644 --- a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule8.java +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRule8.java @@ -23,13 +23,13 @@ public class GenericRule8 { public static void main(String[] args) { - list list1 = new ArrayList<>(); + ArrayList list1 = new ArrayList<>(); list1.add(new C()); - list1.add(new B()); + // list1.add(new B()); f8(list1); ArrayList list2 = new ArrayList<>(); - list2.add(new A()); + // list2.add(new A()); f8(list2); ArrayList list3 = new ArrayList(); diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10.java new file mode 100644 index 0000000..5569d1b --- /dev/null +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10.java @@ -0,0 +1,30 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.gemericrules; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author caleb + */ +public class GenericRules10 { + public static void f10(List list1, List list2) { + System.out.println(list1.size()); + //list1.add(new B()); + } + public static void main(String[] args) + { + ArrayList list1 = new ArrayList(); + list1.add(new A()); + System.out.println(list1.get(0)); + ArrayList list2 = new ArrayList<>(); + f10(list1, list2); + + ArrayList list3 = new ArrayList(); + + } +} diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10b.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10b.java new file mode 100644 index 0000000..82b4132 --- /dev/null +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericRules10b.java @@ -0,0 +1,96 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.gemericrules; + +/** + * + * @author caleb + */ +public class GenericRules10b { + + public static T f10b(A[] ar) + { + A temp = ar[0]; + ar[0] = ar[1]; + ar[1] = temp; + + for (int i = 0; i < ar.length; ++i) { + System.out.println(ar[i]); + return ar[i].getT(); + } + } + + public static void main(String[] args) + { + A[] ar = new A[3]; + ar[0] = new A(1); + ar[1] = new A(2); + ar[2] = new A(3); + Integer i = f10b(ar); + System.out.println("--------"); + B[] ar1 = new B[2]; + ar1[0] = new B("John", 45.6); ar1[1] = new B("Mary", new A(888)); + Object o = f10b(ar1); System.out.println("o"); + System.out.println("------------"); + } +} + +class A { + + private T t; + + public A() + { + } + + public T getT() + { + return t; + } + + public void setT(T t) + { + this.t = t; + } + + void methodThatTakesParameterT(T t) + { + System.out.println("method p"); + } + + @Override + public String toString() + { + return "A{" + "t=" + t + "}"; + } +} + +class B extends A { + + private E e; + + public B(E e, Object t) + { + super(t); + this.e = e; + } + + public E getE() + { + return e; + } + + public void setE(E e) + { + this.e = e; + } + + @Override + public String toString() + { + return "B{" + "e=" + e + '}'; + } + +} diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRule9.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRule9.java new file mode 100644 index 0000000..b4768b0 --- /dev/null +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRule9.java @@ -0,0 +1,30 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.gemericrules; + +import java.util.ArrayList; +import java.util.List; +/** + * + * @author caleb + */ +public class GenericsRule9 { + public static void f9(List list) { + System.out.println(list.size()); + } + public static void main(String[] args) + { + ArrayList list1 = new ArrayList<>(); + list1.add(new A()); + f9(list1); + System.out.println(list1.get(0)); + + ArrayList list2 = new ArrayList(); + f9(list2); + + ArrayList list3 = new ArrayList(); + //f9(list3); + } +} diff --git a/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRules11.java b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRules11.java new file mode 100644 index 0000000..3a6b00c --- /dev/null +++ b/Semester 3/GenericRules/src/main/java/edu/slcc/asdv/caleb/gemericrules/GenericsRules11.java @@ -0,0 +1,36 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.gemericrules; + +/** + * + * @author caleb + */ +import java.util.ArrayList; +import java.util.List; + +public class GenericsRules11 { + + public static void f(List> table) + { + for (int i = 0; i < 2; ++i) { + List row = new ArrayList(); + for (int j = 0; j < 3; ++j) { + row.add(i + j); + table.add(row); + } + } + + for (List row : table) { + System.out.println(row); + } + } + + public static void main(String[] args) { + f( new ArrayList>() ); +//f( new List>() );//will not compile //f( new ArrayList>() ); //will not compile /f( new List>() ); //will not compile + } + +