Java泛型改成非泛型。 20

这个是不是Java泛型packagepair;publicclassPair<T>{privateTfirst;privateTsecond;publicPair(){f... 这个是不是Java泛型
package pair;

public class Pair<T> {
private T first;
private T second;

public Pair(){
first = null;
second = null;
}

public Pair(T first,T second){
this.first = first;
this.second = second;
}

public T getFirst() {
return first;
}
public T getSecond() {
return second;
}

public void setFirst(T newValue) {
first = newValue;
}
public void setSecond(T newValue) {
second = newValue;
}
}

222222222222222222222222222222
这个是不是非泛型

import java.text.DecimalFormat;

public class Product {
private String name;

private double price;

private static DecimalFormat money = new DecimalFormat("$0.00");

public Product() {
name = " ";
price = 0.00;
}

public String toProductString() {
return name + " costs " + money.format(price);
}
public Product(String n, double p)
{
name=n;
price=p;
}
public static void main(String args[]){
System.out.println(
new Product("金币",578.2).toProductString());
}

}

看看有没有错

把泛型改成对应的非泛型
把非泛型改成对应的泛型
高手帮忙
答案让我满意 我分都给你
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
展开
 我来答
daay1986
2009-10-26 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1477万
展开全部
泛型不是说随时都可以用的,该用就用,不要滥用。他是针对使用者来说的,如果你能确定使用者需要的类型就别用泛型了,这样会给编译器白白增加额外负荷。
class Pair<T1, T2> {

protected T1 first;
protected T2 second;

public Pair() {
first = null;
second = null;
}

public Pair(T1 first, T2 second) {
this.first = first;
this.second = second;
}

public T1 getFirst() {
return first;
}

public T2 getSecond() {
return second;
}

public void setFirst(T1 newValue) {
first = newValue;
}

public void setSecond(T2 newValue) {
second = newValue;
}
}

public class Product extends Pair<String, Double> {

private static DecimalFormat money = new DecimalFormat("$0.00");

public Product() {
}

public String toProductString() {
return this.getFirst() + " costs " + money.format(this.getSecond());
}

public Product(String n, double p) {
super(n, p);
}

public static void main(String args[]) {
System.out.println(
new Product("金币", 578.2).toProductString());
}
}
针对你这两个类,Pair类可以写成泛型,他只负责保存两个未知对象,但是你只写了一个泛型,而你实际调用又有两个泛型,所以帮你改成两个泛型了。你可以看到在Pair定义泛型为你Product省去很多代码。

至于你说的泛型到非泛型转换,这个说法没什么意思,既然出现泛型就有存在的意义,否者就不要用。你Pair类就相当与一个仓库,既然是仓库就要定义泛型了,如果有泛型就意味着告诉别人你可以装任何东西了,同时说明你对装入的东西类型不负责,人也可以,畜生也行。但是到了真正使用者就必须要明确一个类型给你了,这是他的义务,这就class Product extends Pair<String, Double>体现出来了。而Product类就是一个无泛型的了,他就必须明确String n, double p这两个别的不管了,实际上你用别的类型也没办法创建Product对象了,他就有局限性了。

所以泛型能用则用,不需要用那就别用了。 要非泛型你拿你自己的交吧,这年头学校的教育真是盲目!
lyw985
2009-10-26 · TA获得超过1401个赞
知道小有建树答主
回答量:1560
采纳率:100%
帮助的人:358万
展开全部
第一个是泛型,第二个是普通的,至于改么,不需改的吧,一个泛型就可以囊括N个普通型了,有泛型就别用普通的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咖悟怀8558
2009-10-26 · TA获得超过277个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:190万
展开全部
……都泛型好,怎么用都行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式