为什么Java Vector被认为是遗留类,已过时或已弃用?
在使用并发时,它的使用是否有效?
如果我不想手动同步对象而只想使用线程安全的集合而不需要制作底层数组的新副本(就像CopyOnWriteArrayList那样),那么它可以使用Vector吗?
怎么样Stack,这是一个子类Vector,我应该怎么用,而不是它?
我正在使用eclipse开发一个Web应用程序.就在今天,我通过更改JAR文件更新了我的struts版本.我正在某些地方收到警告,方法已被弃用,但代码工作正常.
我想知道一些事情
在Java中使用Deprecated方法或类是错误的吗?
如果我不更改任何方法并使用我的警告运行我的应用程序,它会产生任何性能问题.
我不明白gradle插件块
apply plugin: 'someplugin1'
apply plugin: 'maven'
Run Code Online (Sandbox Code Playgroud)
和其他一个:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
Run Code Online (Sandbox Code Playgroud)
在第一个块我们有一些插件名称.在第二个包和版本.我不明白我应该在哪里使用第一块和第二块.
关于这一点存在很多困惑,我想知道,在编程环境中,折旧,弃用和过时之间究竟有什么区别,但总的来说.
我知道我可以只看一个在线词典,即使有很多,我也有,但他们并不都同意,或者他们所说的有所不同.所以我决定在这里问一下,考虑到我也想在编程环境中得到答案.
如果我理解正确,弃用意味着它不应再被使用,因为它已被更好的替代品取代,或者仅仅因为它被放弃了.过时意味着它不再起作用,被删除,或者不再起作用.如果我理解正确的话,折旧,与编程完全无关,只是意味着价值降低,或者变得更糟.
我是对的,还是我错了,如果我错了,这些是什么意思呢?
我最近听说过Vector is a Legacy class,然后我在一个网站上看到了
旧版类用于在集合到来之前保存对象.
那么,为什么这些不被称为Deprecated类,为什么Legacy呢?
我希望有以下字符串
!cmd 45 90 "An argument" Another AndAnother "Another one in quotes"
Run Code Online (Sandbox Code Playgroud)
成为以下阵列
{ "!cmd", "45", "90", "An argument", "Another", "AndAnother", "Another one in quotes" }
Run Code Online (Sandbox Code Playgroud)
我试过了
new StringTokenizer(cmd, "\"")
Run Code Online (Sandbox Code Playgroud)
但这将返回"另一个"和"和另一个"另一个和另一个"这不是预期的效果.
谢谢.
编辑:我再次改变了这个例子,这次我认为它解释了最好的情况,尽管它与第二个例子没有什么不同.
由于在Java中使用不推荐使用的函数,是否会出现任何问题?如果是这样,他们为什么要保留这个功能?它是一个坏习惯,如果你在Java中使用的方法已过时像
java.sql.Date.getMonth或getYear或getDate???
我将一些数据插入Java Hashtable.如果我从Hashtable读取数据,它的返回顺序与我插入的顺序不同.如何从Hashtable获取有序数据?
我使用以下代码从哈希表中获取值:
// Get a set of the entries
Set set = hsUpdateValues.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while (i.hasNext()) {
Map.Entry me = (Map.Entry) i.next();
System.out.print(
"Key : " + me.getKey()
+ ", Value: " + me.getValue()
);
}
Run Code Online (Sandbox Code Playgroud) java ×7
deprecated ×3
vector ×2
api ×1
collections ×1
gradle ×1
groovy ×1
hashtable ×1
maps ×1
methods ×1
obsolete ×1
sorting ×1
stack ×1
terminology ×1