JavaTM 2 Platform
Standard Ed. 5.0

类 java.lang.Deprecated
的使用

使用 Deprecated 的软件包
java.lang 提供利用 Java 编程语言进行程序设计的基础类。 
java.util 包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 
 

java.langDeprecated 的使用
 

注释类型为 Deprecatedjava.lang 中的字段
protected  boolean SecurityManager.inCheck
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
static Character.UnicodeBlock Character.UnicodeBlock.SURROGATES_AREA
          已过时。 从 J2SE 5 开始,使用 Character.UnicodeBlock.HIGH_SURROGATESCharacter.UnicodeBlock.HIGH_PRIVATE_USE_SURROGATESCharacter.UnicodeBlock.LOW_SURROGATES。这些新常量符合 Unicode 标准的块定义。Character.UnicodeBlock.of(char)Character.UnicodeBlock.of(int) 方法返回新常量,而不是 SURROGATES_AREA。
 

注释类型为 Deprecatedjava.lang 中的方法
 boolean ThreadGroup.allowThreadSuspension(boolean b)
          已过时。 此调用的定义取决于 ThreadGroup.suspend(),它被废弃了。更进一步地说,此调用的行为从不被指定。
 void SecurityManager.checkMulticast(java.net.InetAddress maddr, byte ttl)
          已过时。 由 #checkPermission(java.security.Permission) 取代
protected  int SecurityManager.classDepth(String name)
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
protected  int SecurityManager.classLoaderDepth()
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
 int Thread.countStackFrames()
          已过时。 该调用的定义依赖于 Thread.suspend(),但它遭到了反对。此外,该调用的结果从来都不是意义明确的。
protected  ClassLoader SecurityManager.currentClassLoader()
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
protected  Class<?> SecurityManager.currentLoadedClass()
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
protected  Class<?> ClassLoader.defineClass(byte[] b, int off, int len)
          已过时。 defineClass(String, byte[], int, int) 取代
 void Thread.destroy()
          已过时。 该方法最初用于破坏该线程,但不作任何清除。它所保持的任何监视器都会保持锁定状态。不过,该方法决不会被实现。即使要实现,它也极有可能以 Thread.suspend() 方式被死锁。如果目标线程被破坏时保持一个保护关键系统资源的锁,则任何线程在任何时候都无法再次访问该资源。如果另一个线程曾试图锁定该资源,则会出现死锁。这类死锁通常会证明它们自己是“冻结”的进程。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void String.getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
          已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。
 boolean SecurityManager.getInCheck()
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
 java.io.InputStream Runtime.getLocalizedInputStream(java.io.InputStream in)
          已过时。 从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReaderBufferedReader 类。
 java.io.OutputStream Runtime.getLocalizedOutputStream(java.io.OutputStream out)
          已过时。 从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriterBufferedWriterPrintWriter 类。
protected  boolean SecurityManager.inClass(String name)
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
protected  boolean SecurityManager.inClassLoader()
          已过时。 建议不使用该类安全检查。建议使用 checkPermission 调用。
static boolean Character.isJavaLetter(char ch)
          已过时。 用 isJavaIdentifierStart(char) 取代。
static boolean Character.isJavaLetterOrDigit(char ch)
          已过时。 用 isJavaIdentifierPart(char) 取代。
static boolean Character.isSpace(char ch)
          已过时。 用 isWhitespace(char) 取代。
 void Thread.resume()
          已过时。 该方法只与 Thread.suspend() 一起使用,但 Thread.suspend() 已经遭到反对,因为它具有死锁倾向。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void ThreadGroup.resume()
          已过时。 此方法只用于联合 Thread.suspendThreadGroup.suspend 时,因为它们所固有的容易导致死锁的特性,所以两者都已废弃。有关详细信息,请参阅 Thread.suspend()
static void System.runFinalizersOnExit(boolean value)
          已过时。 该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。
static void Runtime.runFinalizersOnExit(boolean value)
          已过时。 此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。
 void Thread.stop()
          已过时。 该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示它要停止运行,则从其运行方法依次返回。如果目标线程等待很长时间(例如基于一个条件变量),则应使用 interrupt 方法来中断该等待。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void ThreadGroup.stop()
          已过时。 此方法具有固有的不安全性。有关详细信息,请参阅 Thread.stop()
 void Thread.stop(Throwable obj)
          已过时。 该方法具有固有的不安全性。请参阅 Thread.stop() 以获得详细信息。 该方法的附加危险是它可用于生成目标线程未准备处理的异常(包括若没有该方法该线程不太可能抛出的已检查的异常)。 有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void Thread.suspend()
          已过时。 该方法已经遭到反对,因为它具有固有的死锁倾向。如果目标线程挂起时在保护关键系统资源的监视器上保持有锁,则在目标线程重新开始以前任何线程都不能访问该资源。如果重新开始目标线程的线程想在调用 resume 之前锁定该监视器,则会发生死锁。这类死锁通常会证明自己是“冻结”的进程。有关更多信息,请参阅为何 Thread.stop、Thread.suspend 和 Thread.resume 遭到反对?
 void ThreadGroup.suspend()
          已过时。 此方法容易导致死锁。有关详细信息,请参阅 Thread.suspend()
 

注释类型为 Deprecatedjava.lang 中的构造方法
String(byte[] ascii, int hibyte)
          已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 起,完成该转换的首选方法是通过 String 构造方法,该方法接受一个字符集名称或使用平台的默认字符集。
String(byte[] ascii, int hibyte, int offset, int count)
          已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是通过 String 构造方法,它接受一个字符集名称,或者使用平台默认的字符集。
 

java.utilDeprecated 的使用
 

注释类型为 Deprecatedjava.util 中的方法
 int Date.getDate()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。
 int Date.getDay()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。
 int Date.getHours()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。
 int Date.getMinutes()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。
 int Date.getMonth()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。
 int Date.getSeconds()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。
 int Date.getTimezoneOffset()
          已过时。 从 JDK 1.1 开始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。
 int Date.getYear()
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。
static long Date.parse(String s)
          已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
 void Properties.save(java.io.OutputStream out, String comments)
          已过时。 如果在保存属性列表时发生 I/O 错误,则此方法不抛出 IOException。保存属性列表的首选方法是通过 store(OutputStream out, String comments) 方法或 storeToXML(OutputStream os, String comment) 方法来进行。
 void Date.setDate(int date)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。
 void Date.setHours(int hours)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。
 void Date.setMinutes(int minutes)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。
 void Date.setMonth(int month)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MONTH, int month) 取代。
 void Date.setSeconds(int seconds)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。
 void Date.setYear(int year)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。
 String Date.toGMTString()
          已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代,使用 GMT TimeZone
 String Date.toLocaleString()
          已过时。 从 JDK 1.1 开始,由 DateFormat.format(Date date) 取代。
static long Date.UTC(int year, int month, int date, int hrs, int min, int sec)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime()
 

注释类型为 Deprecatedjava.util 中的构造方法
Date(int year, int month, int date)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date)GregorianCalendar(year + 1900, month, date) 取代。
Date(int year, int month, int date, int hrs, int min)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min)GregorianCalendar(year + 1900, month, date, hrs, min) 取代。
Date(int year, int month, int date, int hrs, int min, int sec)
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。
Date(String s)
          已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。
 


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策