home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 August / PCO0897.ISO / browser / tonline / ie32.exe / IEXPLORE.CAB / CLASSES.ZIP / java / lang / Long.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-01  |  3.1 KB  |  176 lines

  1. package java.lang;
  2.  
  3. public final class Long extends Number {
  4.    public static final long MIN_VALUE = -9223372036854775808L;
  5.    public static final long MAX_VALUE = 9223372036854775807L;
  6.    private long value;
  7.  
  8.    public static String toString(long var0, int var2) {
  9.       if (var2 < 2 || var2 > 36) {
  10.          var2 = 10;
  11.       }
  12.  
  13.       StringBuffer var3 = new StringBuffer(var2 >= 8 ? 23 : 65);
  14.       boolean var4 = var0 < 0L;
  15.       if (!var4) {
  16.          var0 = -var0;
  17.       }
  18.  
  19.       while(var0 <= (long)(-var2)) {
  20.          var3.append(Character.forDigit((int)(-(var0 % (long)var2)), var2));
  21.          var0 /= (long)var2;
  22.       }
  23.  
  24.       var3.append(Character.forDigit((int)(-var0), var2));
  25.       if (var4) {
  26.          var3.append('-');
  27.       }
  28.  
  29.       return var3.reverse().toString();
  30.    }
  31.  
  32.    public static String toHexString(long var0) {
  33.       return toUnsignedString(var0, 4);
  34.    }
  35.  
  36.    public static String toOctalString(long var0) {
  37.       return toUnsignedString(var0, 3);
  38.    }
  39.  
  40.    public static String toBinaryString(long var0) {
  41.       return toUnsignedString(var0, 1);
  42.    }
  43.  
  44.    private static String toUnsignedString(long var0, int var2) {
  45.       StringBuffer var3 = new StringBuffer(var2 >= 3 ? 22 : 64);
  46.       int var4 = 1 << var2;
  47.       long var5 = (long)(var4 - 1);
  48.  
  49.       do {
  50.          var3.append(Character.forDigit((int)(var0 & var5), var4));
  51.          var0 >>>= var2;
  52.       } while(var0 != 0L);
  53.  
  54.       return var3.reverse().toString();
  55.    }
  56.  
  57.    public static String toString(long var0) {
  58.       return toString(var0, 10);
  59.    }
  60.  
  61.    public static long parseLong(String var0, int var1) throws NumberFormatException {
  62.       if (var0 == null) {
  63.          throw new NumberFormatException("null");
  64.       } else {
  65.          long var2 = 0L;
  66.          boolean var4 = false;
  67.          int var5 = 0;
  68.          int var6 = var0.length();
  69.          if (var6 <= 0) {
  70.             throw new NumberFormatException(var0);
  71.          } else {
  72.             if (var0.charAt(0) == '-') {
  73.                var4 = true;
  74.                ++var5;
  75.             }
  76.  
  77.             while(var5 < var6) {
  78.                int var7 = Character.digit(var0.charAt(var5++), var1);
  79.                if (var7 < 0) {
  80.                   throw new NumberFormatException(var0);
  81.                }
  82.  
  83.                var2 = var2 * (long)var1 + (long)var7;
  84.             }
  85.  
  86.             return var4 ? -var2 : var2;
  87.          }
  88.       }
  89.    }
  90.  
  91.    public static long parseLong(String var0) throws NumberFormatException {
  92.       return parseLong(var0, 10);
  93.    }
  94.  
  95.    public static Long valueOf(String var0, int var1) throws NumberFormatException {
  96.       return new Long(parseLong(var0, var1));
  97.    }
  98.  
  99.    public static Long valueOf(String var0) throws NumberFormatException {
  100.       return new Long(parseLong(var0, 10));
  101.    }
  102.  
  103.    public Long(long var1) {
  104.       this.value = var1;
  105.    }
  106.  
  107.    public Long(String var1) throws NumberFormatException {
  108.       this.value = parseLong(var1, 10);
  109.    }
  110.  
  111.    public int intValue() {
  112.       return (int)this.value;
  113.    }
  114.  
  115.    public long longValue() {
  116.       return this.value;
  117.    }
  118.  
  119.    public float floatValue() {
  120.       return (float)this.value;
  121.    }
  122.  
  123.    public double doubleValue() {
  124.       return (double)this.value;
  125.    }
  126.  
  127.    public String toString() {
  128.       return String.valueOf(this.value);
  129.    }
  130.  
  131.    public int hashCode() {
  132.       return (int)(this.value ^ this.value >> 32);
  133.    }
  134.  
  135.    public boolean equals(Object var1) {
  136.       if (var1 != null && var1 instanceof Long) {
  137.          return this.value == (Long)var1;
  138.       } else {
  139.          return false;
  140.       }
  141.    }
  142.  
  143.    public static Long getLong(String var0) {
  144.       return getLong(var0, (Long)null);
  145.    }
  146.  
  147.    public static Long getLong(String var0, long var1) {
  148.       Long var3 = getLong(var0, (Long)null);
  149.       return var3 == null ? new Long(var1) : var3;
  150.    }
  151.  
  152.    public static Long getLong(String var0, Long var1) {
  153.       String var2 = System.getProperty(var0);
  154.       if (var2 != null) {
  155.          try {
  156.             if (var2.startsWith("0x")) {
  157.                return valueOf(var2.substring(2), 16);
  158.             }
  159.  
  160.             if (var2.startsWith("#")) {
  161.                return valueOf(var2.substring(1), 16);
  162.             }
  163.  
  164.             if (var2.startsWith("0") && var2.length() > 1) {
  165.                return valueOf(var2.substring(1), 8);
  166.             }
  167.  
  168.             return valueOf(var2);
  169.          } catch (NumberFormatException var3) {
  170.          }
  171.       }
  172.  
  173.       return var1;
  174.    }
  175. }
  176.