StringCompareUtil class

Пакет: com.hypixel.hytale.common.util

Файл: com/hypixel/hytale/common/util/StringCompareUtil.java

Поля (24)

МодификаторыТипИмя
var0
var1
var10
int var10
char var11
int[] var11
int var2
int var2
var2
String var3
int var3
var3
String var4
CharSequence var4
int var5
int var5
int var6
int var7
var7
int var7
var7
int var8
char var9
char var9

Методы (19)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Locale must not be null")
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Strings must not be null")
for for(int var6 = 1; var6 <= var3; var6++)
for for(int var12 = 1; var12 <= var2; var12++)
abstract for for(int var8 = 0; var8 < var4.length()
static int getFuzzyDistanceint getFuzzyDistance(@Nonnull CharSequence var0, @Nonnull CharSequence var1, @Nonnull Locale var2)
static int getLevenshteinDistanceint getLevenshteinDistance(@Nonnull CharSequence var0, @Nonnull CharSequence var1)
if if(var0 == var1)
if if(var0 != null && var1 != null)
if if(var0 != null && var1 != null)
if if(var2 == null)
if if(var9 == var11)
if if(var7 + 1 == var6)
if if(var0 != null && var1 != null)
if if(var2 == 0)
if if(var3 == 0)
if if(var2 > var3)
static int indexOfDifferenceint indexOfDifference(@Nullable CharSequence var0, @Nullable CharSequence var1)
while while(var5 <= var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.common.util;

class="kw">import java.util.Locale;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class StringCompareUtil {
   class="kw">public StringCompareUtil() {
   }

   class="kw">public class="kw">static int indexOfDifference(@Nullable CharSequence var0, @Nullable CharSequence var1) {
      if (var0 == var1) {
         class="kw">return -1;
      }

      if (var0 != null && var1 != null) {
         int var2 = 0;

         while (var2 < var0.length() && var2 < var1.length() && var0.charAt(var2) == var1.charAt(var2)) {
            var2++;
         }

         class="kw">return var2 >= var1.length() && var2 >= var0.length() ? -1 : var2;
      } else {
         class="kw">return 0;
      }
   }

   class="kw">public class="kw">static int getFuzzyDistance(@Nonnull CharSequence var0, @Nonnull CharSequence var1, @Nonnull Locale var2) {
      if (var0 != null && var1 != null) {
         if (var2 == null) {
            throw new IllegalArgumentException("Locale must not be null");
         }

         String var3 = var0.toString().toLowerCase(var2);
         String var4 = var1.toString().toLowerCase(var2);
         int var5 = 0;
         int var6 = 0;
         int var7 = Integer.MIN_VALUE;

         for (int var8 = 0; var8 < var4.length(); var8++) {
            char var9 = var4.charAt(var8);

            for (boolean var10 = false; var6 < var3.length() && !var10; var6++) {
               char var11 = var3.charAt(var6);
               if (var9 == var11) {
                  var5++;
                  if (var7 + 1 == var6) {
                     var5 += 2;
                  }

                  var7 = var6;
                  var10 = true;
               }
            }
         }

         class="kw">return var5;
      } else {
         throw new IllegalArgumentException("Strings must not be null");
      }
   }

   class="kw">public class="kw">static int getLevenshteinDistance(@Nonnull CharSequence var0, @Nonnull CharSequence var1) {
      if (var0 != null && var1 != null) {
         int var2 = var0.length();
         int var3 = var1.length();
         if (var2 == 0) {
            class="kw">return var3;
         }

         if (var3 == 0) {
            class="kw">return var2;
         }

         if (var2 > var3) {
            CharSequence var4 = var0;
            var0 = var1;
            var1 = var4;
            var2 = var3;
            var3 = var1.length();
         }

         int[] var11 = new int[var2 + 1];
         int var5 = 0;

         while (var5 <= var2) {
            var11[var5] = var5++;
         }

         for (int var6 = 1; var6 <= var3; var6++) {
            int var7 = var11[0];
            char var9 = var1.charAt(var6 - 1);
            var11[0] = var6;

            for (int var12 = 1; var12 <= var2; var12++) {
               int var8 = var11[var12];
               int var10 = var0.charAt(var12 - 1) == var9 ? 0 : 1;
               var11[var12] = Math.min(Math.min(var11[var12 - 1] + 1, var11[var12] + 1), var7 + var10);
               var7 = var8;
            }
         }

         class="kw">return var11[var2];
      } else {
         throw new IllegalArgumentException("Strings must not be null");
      }
   }
}