русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Источники


Дата добавления: 2015-06-12; просмотров: 415; Нарушение авторских прав


1. Java Documentation (https://docs.oracle.com/javase/tutorial/java/generics)

2. TutorialsPoint (http://www.tutorialspoint.com/java/java_generics.htm)


 

Я использовал картинки кода, чтобы его нельзя было скопиросать и вставить в редактор, а пришлось в ручную печать, чтобы развивать навыки написания кода.

Файлы, которые я использовал.

Ch01.java

public class Ch01 {

public static void someMethod(Number n) {

System.out.println(n);

}

 

public static void main(String[] args) {

someMethod(Integer.valueOf(10));

someMethod(Double.valueOf(4.0));

}

}

Ch02.java

import java.util.ArrayList;

import java.util.Arrays;

 

public class Ch02 {

public static void someMethod(ArrayList<Number> masN) {

for (Number elem : masN) {

System.out.println(elem);

}

}

 

public static void main(String[] args) {

ArrayList<Integer> li = new ArrayList<>();

for (int i = 0; i < 10; i += 2) {

li.add(Integer.valueOf(i));

}

 

ArrayList<Double> ld = new ArrayList<>();

for (int i = 10; i >= 0; i -= 3) {



ld.add(Double.valueOf(i));

}

 

someMethod(li); // compile-error

someMethid(ld); // compile-error

}

}

Ch03.java

import java.util.ArrayList;

import java.util.Arrays;

 

public class Ch03 {

public static void someMethod(ArrayList<? extends Number> masN) {

for (Number elem : masN) {

System.out.println(elem);

}

}

 

public static void main(String[] args) {

ArrayList<Integer> li = new ArrayList<>();

for (int i = 0; i < 10; i += 2) {

li.add(Integer.valueOf(i));

}

 

ArrayList<Double> ld = new ArrayList<>();

for (int i = 10; i >= 0; i -= 3) {



ld.add(Double.valueOf(i));

}

 

someMethod(li); // OK

someMethod(ld); // OK

}

}

Ch04.java

public class Ch04 {

public static class Pair<K, V> {

 

private K key;

private V value;

 

public Pair(K key, V value) {

this.key = key;

this.value = value;

}

 

//...

}

 

public static void main(String[] args) {

//wrong, compile-error

Pair<int, char> p1 = new Pair<>(8, 'a');

 

//right

Pair<Integer, Character> p2 = new Pair<>(8, 'a');

}

}

Ch05.java

import java.util.List;

import java.util.ArrayList;

 

public class Ch05 {

 

//Wrong method

public static <E> void append1(List<E> list) {

E elem = new E(); // compile-time error

list.add(elem);

}

 

//Right method

public static <E> void append2(List<E> list, Class<E> cls) throws Exception {

E elem = cls.newInstance();

list.add(elem);

}

 

 

public static void main(String[] args) {

List<String> ls = new ArrayList<>();

 

append1(ls); // compile-time error

 

//OK

try {

append2(ls, String.class);

} catch (Exception e) {

System.out.println("error!");

}

}

}

Ch06.java

public class Ch06 {

public static class MobileDevice<T> {

private static T os; // wrong

 

//wrong

public static T getOS() {

return os;

}

 

public MobileDevice() {}

 

//...

}

 

public class Smartphone {}

public class Pager {}

public class TabletPC {}

 

public static void main(String[] args) {

MobileDevice<Smartphone> phone = new MobileDevice<>();

MobileDevice<Pager> pager = new MobileDevice<>();

MobileDevice<TabletPC> pc = new MobileDevice<>();

}

}

Ch07.java

import java.util.List;

import java.util.ArrayList;

 

public class Ch07 {

public static <E> void rtti1 (List<E> list) {

if (list instanceof ArrayList<Integer>) { // compile-time error

// ...

}

}

 

 

public static void rtti2(List<?> list) {

if (list instanceof ArrayList<?>) { // Norm

//..

}

}

 

public static <E> void rtti3 (List<E> list) {

if (list instanceof ArrayList<?>) {

//..

}

}

 

public static <E> void rtti4 (List<E> list) {

if (list instanceof ArrayList<E>) {

//..

}

}

 

public static void main(String[] args) {

List<Integer> li = new ArrayList<>();

List<Number> ln = (List<Number>) li; // compile-time error

 

List<String> l1 = new ArrayList<>();

ArrayList<String> l2 = (ArrayList<String>) l1;

}

}

Ch08.java

public class Ch08 {

public static void main(String[] args) {

Integer pr1 = new Integer(10);

Double pr2 = new Double(4.1);

System.out.println(pr1 instanceof Integer); //true

System.out.println(pr1 instanceof Double); // compile-time error

System.out.println(pr2 instanceof Integer); // compile-time error

System.out.println(pr2 instanceof Double); //true

System.out.println(pr1 instanceof Number); //true

System.out.println(pr2 instanceof Object); //true

 

}

}

Ch10.java

import java.util.Set;

 

public class Ch10 {

public void print (Set<String> strSet) { }

public void print (Set<Integer> intSet) { }

}

Test1.java

import java.util.ArrayList;

 

public class Test1 {

public static void main(String[] args) {

ArrayList<Integer> list1 = new ArrayList<Integer>();

ArrayList<double> list2 = new ArrayList<double>();

ArrayList<ArrayList<Character>> list3= new ArrayList<>();

ArrayList<int> list4 = new ArrayList<>();

}

}



<== предыдущая лекция | следующая лекция ==>
Задания | RGB модель


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.769 сек.