Revert "BAEL-4134"
This commit is contained in:
committed by
GitHub
parent
dffa1f64e6
commit
485b4e3e99
@@ -11,4 +11,6 @@ This module contains articles about core features in the Java language
|
||||
- [Guide to the Java finally Keyword](https://www.baeldung.com/java-finally-keyword)
|
||||
- [The Java Headless Mode](https://www.baeldung.com/java-headless-mode)
|
||||
- [Comparing Long Values in Java](https://www.baeldung.com/java-compare-long-values)
|
||||
- [Comparing Objects in Java](https://www.baeldung.com/java-comparing-objects)
|
||||
- [Casting int to Enum in Java](https://www.baeldung.com/java-cast-int-to-enum)
|
||||
- [[<-- Prev]](/core-java-modules/core-java-lang)
|
||||
|
||||
@@ -22,15 +22,15 @@ public class PersonWithEquals {
|
||||
this.birthDate = birthDate;
|
||||
}
|
||||
|
||||
public String firstName() {
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public String lastName() {
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public LocalDate birthDate() {
|
||||
public LocalDate getBirthDate() {
|
||||
return birthDate;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,18 @@ public class PersonWithEqualsAndComparable implements Comparable<PersonWithEqual
|
||||
this.birthDate = birthDate;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public LocalDate getBirthDate() {
|
||||
return birthDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
|
||||
@@ -23,15 +23,15 @@ public class PersonWithEqualsAndComparableUsingComparator implements Comparable<
|
||||
this.birthDate = birthDate;
|
||||
}
|
||||
|
||||
public String firstName() {
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public String lastName() {
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public LocalDate birthDate() {
|
||||
public LocalDate getBirthDate() {
|
||||
return birthDate;
|
||||
}
|
||||
|
||||
@@ -52,9 +52,9 @@ public class PersonWithEqualsAndComparableUsingComparator implements Comparable<
|
||||
|
||||
@Override
|
||||
public int compareTo(PersonWithEqualsAndComparableUsingComparator o) {
|
||||
return Comparator.comparing(PersonWithEqualsAndComparableUsingComparator::lastName)
|
||||
.thenComparing(PersonWithEqualsAndComparableUsingComparator::firstName)
|
||||
.thenComparing(PersonWithEqualsAndComparableUsingComparator::birthDate, Comparator.nullsLast(Comparator.naturalOrder()))
|
||||
return Comparator.comparing(PersonWithEqualsAndComparableUsingComparator::getLastName)
|
||||
.thenComparing(PersonWithEqualsAndComparableUsingComparator::getFirstName)
|
||||
.thenComparing(PersonWithEqualsAndComparableUsingComparator::getBirthDate, Comparator.nullsLast(Comparator.naturalOrder()))
|
||||
.compare(this, o);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,18 @@ public class PersonWithEqualsAndWrongComparable implements Comparable<PersonWith
|
||||
this.birthDate = birthDate;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public LocalDate getBirthDate() {
|
||||
return birthDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
|
||||
@@ -8,4 +8,12 @@ public class PersonWithoutEquals {
|
||||
this.firstName = firstName;
|
||||
this.lastName = lastName;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,11 +21,10 @@ public enum PizzaStatus {
|
||||
private static Map<Integer, PizzaStatus> timeToDeliveryToEnumValuesMapping = new HashMap<>();
|
||||
|
||||
static {
|
||||
PizzaStatus[] pizzaStatuses = PizzaStatus.values();
|
||||
for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) {
|
||||
for (PizzaStatus pizzaStatus : PizzaStatus.values()) {
|
||||
timeToDeliveryToEnumValuesMapping.put(
|
||||
pizzaStatuses[pizzaStatusIndex].getTimeToDelivery(),
|
||||
pizzaStatuses[pizzaStatusIndex]
|
||||
pizzaStatus.getTimeToDelivery(),
|
||||
pizzaStatus
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.baeldung.isinstancevsisassignablefrom;
|
||||
|
||||
public class IsoscelesTriangle extends Triangle {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.baeldung.isinstancevsisassignablefrom;
|
||||
|
||||
public interface Shape {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.baeldung.isinstancevsisassignablefrom;
|
||||
|
||||
public class Triangle implements Shape {
|
||||
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class ComparatorInterfaceUnitTest {
|
||||
Comparator<PersonWithEquals> compareByFirstNames = new Comparator<PersonWithEquals>() {
|
||||
@Override
|
||||
public int compare(PersonWithEquals o1, PersonWithEquals o2) {
|
||||
return o1.firstName().compareTo(o2.firstName());
|
||||
return o1.getFirstName().compareTo(o2.getFirstName());
|
||||
}
|
||||
};
|
||||
people.sort(compareByFirstNames);
|
||||
@@ -37,7 +37,7 @@ class ComparatorInterfaceUnitTest {
|
||||
people.add(joe);
|
||||
people.add(allan);
|
||||
|
||||
Comparator<PersonWithEquals> compareByFirstNames = Comparator.comparing(PersonWithEquals::firstName);
|
||||
Comparator<PersonWithEquals> compareByFirstNames = Comparator.comparing(PersonWithEquals::getFirstName);
|
||||
people.sort(compareByFirstNames);
|
||||
|
||||
assertThat(people).containsExactly(allan, joe);
|
||||
|
||||
@@ -63,8 +63,8 @@ class GuavaUnitTest {
|
||||
PersonWithEquals joe = new PersonWithEquals("Joe", "Portman");
|
||||
|
||||
int comparisonResult = ComparisonChain.start()
|
||||
.compare(natalie.lastName(), joe.lastName())
|
||||
.compare(natalie.firstName(), joe.firstName())
|
||||
.compare(natalie.getLastName(), joe.getLastName())
|
||||
.compare(natalie.getFirstName(), joe.getFirstName())
|
||||
.result();
|
||||
|
||||
assertThat(comparisonResult).isPositive();
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package com.baeldung.inttoenum;
|
||||
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class IntToEnumUnitTest {
|
||||
@@ -9,19 +14,33 @@ public class IntToEnumUnitTest {
|
||||
@Test
|
||||
public void whenIntToEnumUsingValuesMethod_thenReturnEnumObject() {
|
||||
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||
PizzaStatus[] pizzaStatuses = PizzaStatus.values();
|
||||
|
||||
PizzaStatus pizzaOrderedStatus = null;
|
||||
for (int pizzaStatusIndex = 0; pizzaStatusIndex < pizzaStatuses.length; pizzaStatusIndex++) {
|
||||
if (pizzaStatuses[pizzaStatusIndex].getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) {
|
||||
pizzaOrderedStatus = pizzaStatuses[pizzaStatusIndex];
|
||||
|
||||
for (PizzaStatus pizzaStatus : PizzaStatus.values()) {
|
||||
if (pizzaStatus.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus) {
|
||||
pizzaOrderedStatus = pizzaStatus;
|
||||
}
|
||||
}
|
||||
assertEquals(pizzaOrderedStatus, PizzaStatus.ORDERED);
|
||||
|
||||
assertThat(pizzaOrderedStatus).isEqualTo(PizzaStatus.ORDERED);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenIntToEnumUsingMap_thenReturnEnumObject() {
|
||||
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||
assertEquals(PizzaStatus.castIntToEnum(timeToDeliveryForOrderedPizzaStatus), PizzaStatus.ORDERED);
|
||||
|
||||
assertThat(PizzaStatus.castIntToEnum(timeToDeliveryForOrderedPizzaStatus)).isEqualTo(PizzaStatus.ORDERED);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenIntToEnumUsingStream_thenReturnEnumObject() {
|
||||
int timeToDeliveryForOrderedPizzaStatus = 5;
|
||||
|
||||
Optional<PizzaStatus> pizzaStatus = Arrays.stream(PizzaStatus.values())
|
||||
.filter(p -> p.getTimeToDelivery() == timeToDeliveryForOrderedPizzaStatus)
|
||||
.findFirst();
|
||||
|
||||
assertThat(pizzaStatus).hasValue(PizzaStatus.ORDERED);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.baeldung.isinstancevsisassignablefrom;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class IsInstanceIsAssignableFromUnitTest {
|
||||
|
||||
@Test
|
||||
public void whenUsingIsInstanceProperly_desiredResultsHappen() {
|
||||
Shape shape = new Triangle();
|
||||
Triangle triangle = new Triangle();
|
||||
IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle();
|
||||
Triangle isoscelesTriangle2 = new IsoscelesTriangle();
|
||||
Shape nonspecificShape = null;
|
||||
|
||||
assertTrue(Shape.class.isInstance(shape));
|
||||
assertTrue(Shape.class.isInstance(triangle));
|
||||
assertTrue(Shape.class.isInstance(isoscelesTriangle));
|
||||
assertTrue(Shape.class.isInstance(isoscelesTriangle2));
|
||||
assertFalse(Shape.class.isInstance(nonspecificShape));
|
||||
|
||||
assertTrue(Triangle.class.isInstance(shape));
|
||||
assertTrue(Triangle.class.isInstance(triangle));
|
||||
assertTrue(Triangle.class.isInstance(isoscelesTriangle));
|
||||
assertTrue(Triangle.class.isInstance(isoscelesTriangle2));
|
||||
|
||||
assertFalse(IsoscelesTriangle.class.isInstance(shape));
|
||||
assertFalse(IsoscelesTriangle.class.isInstance(triangle));
|
||||
assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle));
|
||||
assertTrue(IsoscelesTriangle.class.isInstance(isoscelesTriangle2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenUsingIsAssignableFromProperly_desiredResultsHappen() {
|
||||
Shape shape = new Triangle();
|
||||
Triangle triangle = new Triangle();
|
||||
IsoscelesTriangle isoscelesTriangle = new IsoscelesTriangle();
|
||||
Triangle isoscelesTriangle2 = new IsoscelesTriangle();
|
||||
|
||||
assertFalse(shape.getClass().isAssignableFrom(Shape.class));
|
||||
assertTrue(shape.getClass().isAssignableFrom(shape.getClass()));
|
||||
assertTrue(shape.getClass().isAssignableFrom(triangle.getClass()));
|
||||
assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||
assertTrue(shape.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||
|
||||
assertFalse(triangle.getClass().isAssignableFrom(Shape.class));
|
||||
assertTrue(triangle.getClass().isAssignableFrom(shape.getClass()));
|
||||
assertTrue(triangle.getClass().isAssignableFrom(triangle.getClass()));
|
||||
assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||
assertTrue(triangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||
|
||||
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(Shape.class));
|
||||
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(shape.getClass()));
|
||||
assertFalse(isoscelesTriangle.getClass().isAssignableFrom(triangle.getClass()));
|
||||
assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||
assertTrue(isoscelesTriangle.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||
|
||||
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(Shape.class));
|
||||
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(shape.getClass()));
|
||||
assertFalse(isoscelesTriangle2.getClass().isAssignableFrom(triangle.getClass()));
|
||||
assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle.getClass()));
|
||||
assertTrue(isoscelesTriangle2.getClass().isAssignableFrom(isoscelesTriangle2.getClass()));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user