home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / lang / Long.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  3.9 KB  |  225 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.    public static final Class TYPE = Class.getPrimitiveClass("long");
  7.    private long value;
  8.    private static final long serialVersionUID = 4290774380558885855L;
  9.  
  10.    public static String toString(long var0, int var2) {
  11.       if (var2 < 2 || var2 > 36) {
  12.          var2 = 10;
  13.       }
  14.  
  15.       char[] var3 = new char[65];
  16.       int var4 = 64;
  17.       boolean var5 = var0 < 0L;
  18.       if (!var5) {
  19.          var0 = -var0;
  20.       }
  21.  
  22.       while(var0 <= (long)(-var2)) {
  23.          var3[var4--] = Integer.digits[(int)(-(var0 % (long)var2))];
  24.          var0 /= (long)var2;
  25.       }
  26.  
  27.       var3[var4] = Integer.digits[(int)(-var0)];
  28.       if (var5) {
  29.          --var4;
  30.          var3[var4] = '-';
  31.       }
  32.  
  33.       return new String(var3, var4, 65 - var4);
  34.    }
  35.  
  36.    public static String toHexString(long var0) {
  37.       return toUnsignedString(var0, 4);
  38.    }
  39.  
  40.    public static String toOctalString(long var0) {
  41.       return toUnsignedString(var0, 3);
  42.    }
  43.  
  44.    public static String toBinaryString(long var0) {
  45.       return toUnsignedString(var0, 1);
  46.    }
  47.  
  48.    private static String toUnsignedString(long var0, int var2) {
  49.       char[] var3 = new char[64];
  50.       int var4 = 64;
  51.       int var5 = 1 << var2;
  52.       long var6 = (long)(var5 - 1);
  53.  
  54.       do {
  55.          --var4;
  56.          var3[var4] = Integer.digits[(int)(var0 & var6)];
  57.          var0 >>>= var2;
  58.       } while(var0 != 0L);
  59.  
  60.       return new String(var3, var4, 64 - var4);
  61.    }
  62.  
  63.    public static String toString(long var0) {
  64.       return toString(var0, 10);
  65.    }
  66.  
  67.    public static long parseLong(String var0, int var1) throws NumberFormatException {
  68.       if (var0 == null) {
  69.          throw new NumberFormatException("null");
  70.       } else if (var1 < 2) {
  71.          throw new NumberFormatException("radix " + var1 + " less than Character.MIN_RADIX");
  72.       } else if (var1 > 36) {
  73.          throw new NumberFormatException("radix " + var1 + " greater than Character.MAX_RADIX");
  74.       } else {
  75.          long var2 = 0L;
  76.          boolean var4 = false;
  77.          int var5 = 0;
  78.          int var6 = var0.length();
  79.          if (var6 <= 0) {
  80.             throw new NumberFormatException(var0);
  81.          } else {
  82.             long var7;
  83.             if (var0.charAt(0) == '-') {
  84.                var4 = true;
  85.                var7 = MIN_VALUE;
  86.                ++var5;
  87.             } else {
  88.                var7 = -9223372036854775807L;
  89.             }
  90.  
  91.             long var9 = var7 / (long)var1;
  92.             if (var5 < var6) {
  93.                int var11 = Character.digit(var0.charAt(var5++), var1);
  94.                if (var11 < 0) {
  95.                   throw new NumberFormatException(var0);
  96.                }
  97.  
  98.                var2 = (long)(-var11);
  99.             }
  100.  
  101.             while(var5 < var6) {
  102.                int var13 = Character.digit(var0.charAt(var5++), var1);
  103.                if (var13 < 0) {
  104.                   throw new NumberFormatException(var0);
  105.                }
  106.  
  107.                if (var2 < var9) {
  108.                   throw new NumberFormatException(var0);
  109.                }
  110.  
  111.                var2 *= (long)var1;
  112.                if (var2 < var7 + (long)var13) {
  113.                   throw new NumberFormatException(var0);
  114.                }
  115.  
  116.                var2 -= (long)var13;
  117.             }
  118.  
  119.             if (var4) {
  120.                if (var5 > 1) {
  121.                   return var2;
  122.                } else {
  123.                   throw new NumberFormatException(var0);
  124.                }
  125.             } else {
  126.                return -var2;
  127.             }
  128.          }
  129.       }
  130.    }
  131.  
  132.    public static long parseLong(String var0) throws NumberFormatException {
  133.       return parseLong(var0, 10);
  134.    }
  135.  
  136.    public static Long valueOf(String var0, int var1) throws NumberFormatException {
  137.       return new Long(parseLong(var0, var1));
  138.    }
  139.  
  140.    public static Long valueOf(String var0) throws NumberFormatException {
  141.       return new Long(parseLong(var0, 10));
  142.    }
  143.  
  144.    public Long(long var1) {
  145.       this.value = var1;
  146.    }
  147.  
  148.    public Long(String var1) throws NumberFormatException {
  149.       this.value = parseLong(var1, 10);
  150.    }
  151.  
  152.    public byte byteValue() {
  153.       return (byte)((int)this.value);
  154.    }
  155.  
  156.    public short shortValue() {
  157.       return (short)((int)this.value);
  158.    }
  159.  
  160.    public int intValue() {
  161.       return (int)this.value;
  162.    }
  163.  
  164.    public long longValue() {
  165.       return this.value;
  166.    }
  167.  
  168.    public float floatValue() {
  169.       return (float)this.value;
  170.    }
  171.  
  172.    public double doubleValue() {
  173.       return (double)this.value;
  174.    }
  175.  
  176.    public String toString() {
  177.       return String.valueOf(this.value);
  178.    }
  179.  
  180.    public int hashCode() {
  181.       return (int)(this.value ^ this.value >> 32);
  182.    }
  183.  
  184.    public boolean equals(Object var1) {
  185.       if (var1 != null && var1 instanceof Long) {
  186.          return this.value == (Long)var1;
  187.       } else {
  188.          return false;
  189.       }
  190.    }
  191.  
  192.    public static Long getLong(String var0) {
  193.       return getLong(var0, (Long)null);
  194.    }
  195.  
  196.    public static Long getLong(String var0, long var1) {
  197.       Long var3 = getLong(var0, (Long)null);
  198.       return var3 == null ? new Long(var1) : var3;
  199.    }
  200.  
  201.    public static Long getLong(String var0, Long var1) {
  202.       String var2 = System.getProperty(var0);
  203.       if (var2 != null) {
  204.          try {
  205.             if (var2.startsWith("0x")) {
  206.                return valueOf(var2.substring(2), 16);
  207.             }
  208.  
  209.             if (var2.startsWith("#")) {
  210.                return valueOf(var2.substring(1), 16);
  211.             }
  212.  
  213.             if (var2.startsWith("0") && var2.length() > 1) {
  214.                return valueOf(var2.substring(1), 8);
  215.             }
  216.  
  217.             return valueOf(var2);
  218.          } catch (NumberFormatException var3) {
  219.          }
  220.       }
  221.  
  222.       return var1;
  223.    }
  224. }
  225.