Fix bad merge in c511029eaae.

Change-Id: I06a149e31bc1d7a06376fd3fbae5ac21e4eb59c8
diff --git a/user/super/com/google/gwt/emul/java/lang/String.java b/user/super/com/google/gwt/emul/java/lang/String.java
index 3beff7c..b7c9e99 100644
--- a/user/super/com/google/gwt/emul/java/lang/String.java
+++ b/user/super/com/google/gwt/emul/java/lang/String.java
@@ -157,12 +157,12 @@
   }
 
   @JsType(isNative = true, name = "Function", namespace = JsPackage.GLOBAL)
-  private static class NativeFunction<T> {
-    public native T apply(Object thisContext, Object[] argsArray);
+  private static class NativeFunction {
+    public native String apply(String thisContext, Object[] argsArray);
   }
 
   @JsProperty(name = "String.fromCharCode", namespace = "window")
-  private static native NativeFunction<String> getFromCharCodeFunction();
+  private static native NativeFunction getFromCharCodeFunction();
 
   public static String valueOf(char[] x) {
     return valueOf(x, 0, x.length);
@@ -410,7 +410,7 @@
   public boolean equals(Object other) {
     // Java equality is translated into triple equality which is a quick to compare strings for
     // equality without any instanceOf checks.
-    return this == other;
+    return checkNotNull(this) == other;
   }
 
   public boolean equalsIgnoreCase(String other) {