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());
}
}
看看有没有错
把泛型改成对应的非泛型
把非泛型改成对应的泛型
高手帮忙
答案让我满意 我分都给你
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型 展开
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());
}
}
看看有没有错
把泛型改成对应的非泛型
把非泛型改成对应的泛型
高手帮忙
答案让我满意 我分都给你
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型
我是做实验报告。。。要有对应的泛型 和非泛型 展开
展开全部
泛型不是说随时都可以用的,该用就用,不要滥用。他是针对使用者来说的,如果你能确定使用者需要的类型就别用泛型了,这样会给编译器白白增加额外负荷。
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对象了,他就有局限性了。
所以泛型能用则用,不需要用那就别用了。 要非泛型你拿你自己的交吧,这年头学校的教育真是盲目!
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对象了,他就有局限性了。
所以泛型能用则用,不需要用那就别用了。 要非泛型你拿你自己的交吧,这年头学校的教育真是盲目!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询