From b0be11693633a3c8c8a98744a71c5f189368bb0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz>
Date: Wed, 8 Dec 2021 09:12:36 +0100
Subject: [PATCH] Change to double

---
 .../java/cz/vsb/java1/test2/Vector3D.java     | 44 +++++++------------
 1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/src/main/java/cz/vsb/java1/test2/Vector3D.java b/src/main/java/cz/vsb/java1/test2/Vector3D.java
index 5bab1df..fd7eda7 100644
--- a/src/main/java/cz/vsb/java1/test2/Vector3D.java
+++ b/src/main/java/cz/vsb/java1/test2/Vector3D.java
@@ -1,13 +1,15 @@
 package cz.vsb.java1.test2;
 
+import java.util.Objects;
+
 import cz.vsb.java1.test2.helpers.RandomGenarator;
 
 public class Vector3D {
 
 	private String name;
-	private int x;
-	private int y;
-	private int z;
+	private double x;
+	private double y;
+	private double z;
 
 	public static Vector3D generate() {
 		return new Vector3D(RandomGenarator.generateRandomVectorName(), // name
@@ -34,27 +36,27 @@ public class Vector3D {
 		this.name = name;
 	}
 
-	public int getX() {
+	public double getX() {
 		return x;
 	}
 
-	public void setX(int x) {
+	public void setX(double x) {
 		this.x = x;
 	}
 
-	public int getY() {
+	public double getY() {
 		return y;
 	}
 
-	public void setY(int y) {
+	public void setY(double y) {
 		this.y = y;
 	}
 
-	public int getZ() {
+	public double getZ() {
 		return z;
 	}
 
-	public void setZ(int z) {
+	public void setZ(double z) {
 		this.z = z;
 	}
 
@@ -71,15 +73,10 @@ public class Vector3D {
 		return "Vector3D [name=" + name + ", x=" + x + ", y=" + y + ", z=" + z + "]";
 	}
 
+	
 	@Override
 	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((name == null) ? 0 : name.hashCode());
-		result = prime * result + x;
-		result = prime * result + y;
-		result = prime * result + z;
-		return result;
+		return Objects.hash(name, x, y, z);
 	}
 
 	@Override
@@ -91,18 +88,9 @@ public class Vector3D {
 		if (getClass() != obj.getClass())
 			return false;
 		Vector3D other = (Vector3D) obj;
-		if (name == null) {
-			if (other.name != null)
-				return false;
-		} else if (!name.equals(other.name))
-			return false;
-		if (x != other.x)
-			return false;
-		if (y != other.y)
-			return false;
-		if (z != other.z)
-			return false;
-		return true;
+		return Objects.equals(name, other.name) && Double.doubleToLongBits(x) == Double.doubleToLongBits(other.x)
+				&& Double.doubleToLongBits(y) == Double.doubleToLongBits(other.y)
+				&& Double.doubleToLongBits(z) == Double.doubleToLongBits(other.z);
 	}
 
 }
-- 
GitLab