「java过时api」java过时了吗

博主:adminadmin 2023-03-18 00:49:09 492

本篇文章给大家谈谈java过时api,以及java过时了吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java API 过时了怎么改 有图

您好,这样更改:

// 不知道这样是不是你想要的:

import java.util.Calendar;

import java.util.Random;

final class RandomSort implements RandomInt {

public void permuteBySort(int[] data) {

int len = data.length;

int len3 = len * len * len;

int P[] = getRandom(1, len3, len);

for (int i = len - 1; i 0; i--) {

for (int j = 0; j i; j++) {

if (P[j] P[j + 1]) {

int temp = data[j];

data[j] = data[j + 1];

data[j + 1] = temp;

temp = P[j];

P[j] = P[j + 1];

P[j + 1] = temp;

}

}

}

}

public void randomizeInPlace(int[] data) {

// Date dt = new Date();

Calendar c = Calendar.getInstance();

// Random random = new Random(dt.getSeconds());

Random random = new Random(c.get(Calendar.SECOND));

int len = data.length;

for (int i = 0; i len; i++) {

int pos = (int) (random.nextDouble() * (len - i + 1) + i) - 1;

int temp = data[i];

data[i] = data[pos];

data[pos] = temp;

}

}

public int[] getRandom(int a, int b, int n) {

if (a b) {

int temp = a;

a = b;

b = temp;

}

// Date dt = new Date();

Calendar c = Calendar.getInstance();

// Random random = new Random(dt.getSeconds());

Random random = new Random(c.get(Calendar.SECOND));

int res[] = new int[n];

for (int i = 0; i n; i++) {

res[i] = (int) (random.nextDouble() * (Math.abs(b - a) + 1)) + a;

}

return res;

}

}

Student.java 使用或覆盖了已过时的 API。

分类: 电脑/网络 电脑常识

问题描述:

最近刚迷上java就碰到了这个问题编译是没什么问题.import java.io.*;import java.awt.*;import java.util.*;class Student{public String newStudent(){File f1=new File ("F:/data.txt");if(f1.exists()){try{FileInputStream fis=new FileInputStream(f1);DataInputStream dis=new DataInputStream(fis);while(dis.available()0){String str=dis.readLine();System.out.println(str);}System.out.println("读出完毕");fis.close();}catch(Exception e){System.out.println("Error:"+e.toString());}return "读出完毕" ;}try{System.out.println("请输入学生的信息:(以End回车结束)");DataInputStream dis=new DataInputStream(System.in);Vector theVector=new Vector();String str=dis.readLine();while (!str.equalsIgnoreCase("END")){theVector.addElement(str);str=dis.readLine();}FileOutputStream fos=new FileOutputStream(f1);for(int i=0;itheVector.size();i++){fos.write(theVector.elementAt(i).toString().getBytes());fos.write(13);fos.write(10);}fos.close();System.out.println("写入完毕");}catch (Exception e){System.out.println(e.toString());}return "ok";}public static void main(String args[]){String s=newStudent();Student FRWC=new Student();FRWC.newStudent();}}来个高手帮帮忙哈```注意:Student.java 使用或覆盖了已过时的 API。注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。注意:Student.java 使用了未经检查或不安全的操作。注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。

解析:

不使用或覆盖已过时的 API 的好处是:

a)能提高程序在未来的 Java 平台上成功运行的几率,因为已过时的 API 将来很可能不再被支持。

b)程序可能更稳定、更安全、更高性能、更易懂、更易维护,因为 Java 里总有能代替每一个已过时的 API 的更好的 API 或技巧(详情全在 API 文档里。用 -Xlint:deprecation 重新编译即能查出所有代码里使用或覆盖的已过时的 API)。

得不到上述的好处不是很大的问题,所以对于 deprecation 编译器只警告不报错。

当然,完美的编译是最好的,且一般不难。以你的 Student.java 为例:

1)用 -Xlint:deprecation 重新编译:

javac -Xlint:deprecation Student.java

你将看到:

Student.java:19: 警告:[deprecation] java.io.DataInputStream 中的 readLine() 已过时

String str=dis.readLine();

^

Student.java:39: 警告:[deprecation] java.io.DataInputStream 中的 readLine() 已过时

String str=dis.readLine();

^

Student.java:43: 警告:[deprecation] java.io.DataInputStream 中的 readLine() 已过时

str=dis.readLine();

^

2)有了那么针对性的信息即能轻易地获取 API 文档中的建议。

以这个页面上的文档为例:shorterlink/?RFPWC9。

当中的建议是改用 BufferedReader.readLine( )。

做了相关方面的修改的代码如下(被替代的代码被包在 /* 和 */ 里):

import java.io.*;

import java.util.*;

class Student {

public String newStudent() {

File f1 = new File("F:/data.txt");

if (f1.exists()) {

try {

FileInputStream fis = new FileInputStream(f1);

/* DataInputStream dis = new DataInputStream(fis);

while (dis.available() 0) {

String str = dis.readLine();

System.out.println(str);

}*/

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

for (String s; (s = br.readLine()) != null; )

System.out.println(s);

System.out.println("读出完毕");

fis.close();

} catch (Exception e) {

System.out.println("Error:" + e.toString());

}

return "读出完毕";

}

try {

System.out.println("请输入学生的信息:(以End回车结束)");

/*DataInputStream dis = new DataInputStream(System.in);*/

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

Vector theVector = new Vector();

/*String str = dis.readLine();

while (!str.equalsIgnoreCase("END")) {

theVector.addElement(str);

str = dis.readLine();

}*/

for (String s = br.readLine(); ! s.equalsIgnoreCase("END"); s = br.readLine())

theVector.add(s);

FileOutputStream fos = new FileOutputStream(f1);

for (int i = 0; i theVector.size(); i++) {

fos.write(theVector.elementAt(i).toString().getBytes());

fos.write(13);

fos.write(10);

}

fos.close();

System.out.println("写入完毕");

} catch (Exception e) {

System.out.println(e.toString());

}

return "ok";

}

public static void main(String args[]) {

String s=newStudent();

Student FRWC = new Student();

FRWC.newStudent();

}

}

java 中使用或覆盖了已过时的 API

方法或者函数,已经过时了,可以寻找新的来代替,不过仍可以继续运行。

java 使用或覆盖了已过时的 API,要了解详细信息,请使用 -Xlint:deprecation 重新编译。怎么解决?

出现这个提示的本质原因是:在你的源代码中,使用JDK中的类的时候,调用了已经过时的方法。所谓过时方法,是有些没有真正实现的方法,或存在潜在问题的方法。这些方法一般情况下,目前的JDK还支持,但在未来的某个版本中,可能就会取消的。所以,在本地使用的代码不必担心这个问题;要移值到其它计算机的程序必须要解决这个问题。

这些过时的方法在JDK的更高版本中,绝对大多数提供了替换方法,少部分是要放弃了。想改好程序,就要找到能够替代的方法,来修改代码。能替代的方法查阅API文档就能看到,在方法目录中,过时的方法有“已过时”的说明,在方法明细里能看到被哪个方法代替了。

JAVA使用或覆盖了已过时的 API

你的程序我运行过了,一点问题没有啊!

C:\Dert.java

使用或覆盖了已过时的

API。

注意:要了解详细信息,请使用

-Xlint:deprecation

重新编译。

这个只是一个警告而已,你不要去管他,他只是告诉你你使用了已经过时的函数,不过不要紧,jdk是向下兼容的!你是否在运行此程序的时候遇见了不能运行的问题?

解决方法1:

1。直接在myeclipse里面运行。

解决方法2:

1。在cmd下编译,javac

Dert.java

2.

写一个网页如下:

applet

code=Dert

width=200

height=200

只有这一句就可以了,然后保存为:任意名字.html

文件

然后双击网页就可以了。

如果你觉得我对你的回答有帮助请给我多加分!如果你好有什么疑问的话请给我留言!

java过时api的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java过时了吗、java过时api的信息别忘了在本站进行查找喔。