From b7eafe260ae052f8a538f4a4bfebe58c1a30951e Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 22 Apr 2026 19:55:45 +0800 Subject: [PATCH] fix(android): use equals() instead of == for string comparison in Deserializer In Deserializer.java, `key == "null"` uses reference equality which fails when the string is deserialized from binary format (not interned). Changed to `"null".equals(key)` to correctly compare string values. Co-Authored-By: Claude Opus 4.7 --- .../mtt/hippy/serialization/compatible/Deserializer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/android/src/main/java/com/tencent/mtt/hippy/serialization/compatible/Deserializer.java b/framework/android/src/main/java/com/tencent/mtt/hippy/serialization/compatible/Deserializer.java index 7c6bc03b07e..5958cfb8014 100644 --- a/framework/android/src/main/java/com/tencent/mtt/hippy/serialization/compatible/Deserializer.java +++ b/framework/android/src/main/java/com/tencent/mtt/hippy/serialization/compatible/Deserializer.java @@ -239,7 +239,7 @@ private int readJSProperties(HippyMap object, byte endTag) { if (key instanceof Number) { object.pushObject(String.valueOf(key), value); } else if (key instanceof String) { - if (key == "null") { + if ("null".equals(key)) { object.pushObject(null, value); } else { object.pushObject((String) key, value); @@ -263,7 +263,7 @@ private HippyMap readJSMap() { key = key.toString(); Object value = readValue(StringLocation.MAP_VALUE, key); if (value != Undefined) { - if (key == "null") { + if ("null".equals(key)) { object.pushObject(null, value); } else { object.pushObject((String) key, value);