gpt4 book ai didi

java - 不推荐使用构造函数 Date(String)

转载 作者:行者123 更新时间:2023-12-01 10:45:01 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Java: Why is the Date constructor deprecated, and what do I use instead?

(14 个回答)


6年前关闭。




众所周知的弃用问题导致我出现问题。下面这行“expiry = new Date(dt);”是目标脚本。详细解释我成功地习惯了

Date expiry = null;
String dt;
if(!(dt=str.nextToken()).equals("null"));
{
expiry = new Date(dt);
}

在脚本中使用这些行从文件中读取 cookie。是的,“日期”已被弃用。我已经阅读了一些解决方案,但在纠正它时仍然存在一系列错误。

什么是“日期”的正确位置。我还提供了下面的完整脚本
package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import java.util.StringTokenizer;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Reader {

public static void main(String[] args) {
System.setProperty ("webdriver.chrome.driver", "D:\\Selenium\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.gmail.com");

try{
File f = new File("browser.data");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line;

while ((line = br.readLine())!=null){
StringTokenizer str = new StringTokenizer (line, ";");

while (str.hasMoreTokens()) {


String name = str.nextToken();
String value = str.nextToken();
String domain = str.nextToken();
String path = str.nextToken();

Date expiry = null;
String dt;

if(!(dt=str.nextToken()).equals("null"));
{
expiry = new Date(dt);
}

boolean isSecure = new Boolean(str.nextToken()).booleanValue();

Cookie ck = new Cookie (name,value,domain,path,expiry,isSecure);

driver.manage().addCookie(ck);
br.close();
}

}
}

catch (Exception ex)
{
ex.printStackTrace();
}

driver.get("http://gmail.com");



}
}

最佳答案

不推荐使用的方法的 javadoc 通常会告诉您该方法被替换的内容。在这种情况下,日期(字符串)的 javadoc 位于 https://docs.oracle.com/javase/7/docs/api/java/util/Date.html提到以下内容:

Deprecated. As of JDK version 1.1, replaced by DateFormat.parse(String s).



因此,如果您使用默认日期格式,则可以使用以下内容替换您的日期构造代码;
expiry = java.text.DateFormat.getDateInstance().parse(dt);

如果您有自定义日期格式,则必须使用
java.text.SimpleDateFormat 类而不是 java.text.DateFormat。

.

关于java - 不推荐使用构造函数 Date(String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30096749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com