Определите класс с полями-членами для каждого вида информации, которую вы хотите отслеживать.
package com.basilbourque.example;
import java.util.ArrayList;
import java.util.List;
public class CatBreed {
public String breed;
// Constructor
public CatBreed ( String breed ) {
this.breed = breed;
}
@Override
public String toString ( ) {
return "CatBreed{ " +
"breed='" + breed + '\'' +
" }";
}
}
Создайте коллекцию для хранения некоторых экземпляров (объектов) этого класса.
public static void main ( String[] args ) {
List < CatBreed > breeds = new ArrayList <>( 3 );
breeds.add( new CatBreed( "Persian" ) );
breeds.add( new CatBreed( "Maine Coon" ) );
breeds.add( new CatBreed( "Russian Blue" ) );
System.out.println( breeds );
}
[CatBreed {breed = 'Persian'}, CatBreed {breed = 'Maine Coon'}, CatBreed {breed = 'Russian Blue'}]
Если вы представляете породу наотдельных отдельных кошек, определите класс Cat
аналогичным образом.
package com.basilbourque.example;
import java.time.Year;
import java.util.ArrayList;
import java.util.List;
public class Cat {
String breed;
String name;
Year yearOfBirth;
public Cat ( String breed , String name , Year yearOfBirth ) {
this.breed = breed;
this.name = name;
this.yearOfBirth = yearOfBirth;
}
@Override
public String toString ( ) {
return "Cat{ " +
"breed='" + breed + '\'' +
" | name='" + name + '\'' +
" | yearOfBirth=" + yearOfBirth +
" }";
}
public static void main ( String[] args ) {
List < Cat > cats = new ArrayList <>( 3 );
cats.add( new Cat( "Persian" , "Fluffy" , Year.of( 2011 ) ) );
cats.add( new Cat( "Maine Coon" , "Spot" , Year.of( 2012 ) ) );
cats.add( new Cat( "Russian Blue" , "Big Boy" , Year.of( 2013 ) ) );
System.out.println( cats );
}
}
[Cat {breed = 'Persian' |name = 'Пушистый' |yearOfBirth = 2011}, Кошка {порода = 'Мейн-кун' |name = 'Spot' |yearOfBirth = 2012}, Cat {breed = 'Russian Blue' |имя = 'Большой мальчик' |yearOfBirth = 2013}]
Если все породы известны во время компиляции, используйте enum.Средство enum в Java гораздо полезнее, гибче и мощнее, чем на других платформах.Использование перечисления обеспечивает безопасность типов , гарантирует допустимые значения и делает ваш код более самодокументируемым.
package com.basilbourque.example;
import java.time.Year;
import java.util.ArrayList;
import java.util.List;
public class Cat {
enum Breed { PERSIAN, MAINE_COON, RUSSIAN_BLUE }
Breed breed;
String name;
Year yearOfBirth;
public Cat ( Breed breed , String name , Year yearOfBirth ) {
this.breed = breed;
this.name = name;
this.yearOfBirth = yearOfBirth;
}
@Override
public String toString ( ) {
return "Cat{ " +
"breed='" + breed + '\'' +
" | name='" + name + '\'' +
" | yearOfBirth=" + yearOfBirth +
" }";
}
public static void main ( String[] args ) {
List < Cat > cats = new ArrayList <>( 3 );
cats.add( new Cat( Breed.PERSIAN , "Fluffy" , Year.of( 2011 ) ) );
cats.add( new Cat( Breed.MAINE_COON , "Spot" , Year.of( 2012 ) ) );
cats.add( new Cat( Breed.RUSSIAN_BLUE , "Big Boy" , Year.of( 2013 ) ) );
System.out.println( cats );
}
}
[Cat {breed = 'PERSIAN' |name = 'Пушистый' |yearOfBirth = 2011}, Кошка {порода = 'MAINE_COON' |name = 'Spot' |yearOfBirth = 2012}, Кошка {breed = 'RUSSIAN_BLUE' |имя = 'Большой мальчик' |yearOfBirth = 2013}]