diff --git a/message_generation/src/main/java/org/ros/internal/message/field/BooleanArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/BooleanArrayField.java
index 75a9fe174d3cd4bffafce7c9163b60abf7586d07..9ec6bfe60764e00af10e4161172e52f47809fec0 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/BooleanArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/BooleanArrayField.java
@@ -94,7 +94,7 @@ public class BooleanArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/ByteArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/ByteArrayField.java
index 02e08bfbc58a7ed452cdb2b951a4cd2926090219..e8967ee8c91dc16f055751ecd66f11f938bf0dd1 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/ByteArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/ByteArrayField.java
@@ -94,7 +94,7 @@ public class ByteArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/DoubleArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/DoubleArrayField.java
index a0c3945f0dc4e1b7d29a3c50a7ce979e524f5112..04e54b73986ebc69e624405268db524baa2d98ca 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/DoubleArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/DoubleArrayField.java
@@ -94,7 +94,7 @@ public class DoubleArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/FloatArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/FloatArrayField.java
index fcbf50c29787df091a5a431a5e3f48fdc9c8be73..630a81a73dc138a50ace93519d67d3a697f09b68 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/FloatArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/FloatArrayField.java
@@ -94,7 +94,7 @@ public class FloatArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/IntegerArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/IntegerArrayField.java
index adb0753f44f8fb2e81e51ffabd46ce62fe702a27..8138a4e903283d34b13cdd2a8ec431c124ada357 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/IntegerArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/IntegerArrayField.java
@@ -94,7 +94,7 @@ public class IntegerArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/LongArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/LongArrayField.java
index 8c2a611b24f4425517c70f27c92bd8dac4dd45f2..a3f2ca370d36c8840e2300ca717b5684bdb79f63 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/LongArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/LongArrayField.java
@@ -96,7 +96,7 @@ public class LongArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }
 
diff --git a/message_generation/src/main/java/org/ros/internal/message/field/ShortArrayField.java b/message_generation/src/main/java/org/ros/internal/message/field/ShortArrayField.java
index e77b72a34e00eb4c188dcd0cb799b09a205dcb93..bb8209b59f5467960edb8f666ce86493e9deae2e 100644
--- a/message_generation/src/main/java/org/ros/internal/message/field/ShortArrayField.java
+++ b/message_generation/src/main/java/org/ros/internal/message/field/ShortArrayField.java
@@ -94,7 +94,7 @@ public class ShortArrayField extends Field {
   public int hashCode() {
     final int prime = 31;
     int result = super.hashCode();
-    result = prime * result + ((value == null) ? 0 : value.hashCode());
+    result = prime * result + ((value == null) ? 0 : Arrays.hashCode(value));
     return result;
   }