我试图这样做,以便我的班级仅限于上限数字。但是,当我尝试使用toString()方法获取最小值和最大值时,我收到以下消息:
MyList类型中最大的方法(
ArrayList<T extends Comparable<T>>
)不适用于参数(ArrayList<T extends Number>
)
package p07;
import java.util.ArrayList;
public class MyList<T extends Number>
{
private ArrayList<T> l;
public MyList(ArrayList<T> l)
{
this.l=l;
}
public void add(T x)
{
l.add(x);
}
public static <T extends Comparable<T> > T smallest(ArrayList<T> l)
{
T lowest=l.get(0);
for(T index:l)
{
if(index.compareTo(lowest)<0)
{
lowest=index;
}
}
return lowest;
}
public static <T extends Comparable<T> > T largest(ArrayList<T> l)
{
T largest=l.get(0);
for(T index:l)
{
if(index.compareTo(largest)>0)
{
largest=index;
}
}
return largest;
}
public final String toString()
{
String str;
str="\nThe list is: ";
str+="\n"+l.toString();
str+="\nThe largest value is "+MyList.largest(l);
str+="\nThe smallest value is "+MyList.smallest(l);
return str;
}
}
有没有办法让我的类被限制在Numbers类的上限而不必为整个类实现Comparable接口?我感觉错误正在发生,因为我的方法是静态的,但我不确定。我只想使用Comparable for
smallest()
和
largest()
答案 0 :(得分:2)
while( have_posts()) : the_post();
?>
<item>
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss() ?></link>
<comments><?php comments_link_feed(); ?></comments>
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
<dc:creator><![CDATA[<?php the_author(); ?>]]></dc:creator>
<?php
$pub_date= mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false);
......
$description = get_post(get_post_thumbnail_id())->post_content; // The Description
$content = get_the_content_feed('rss2');
方法依赖于toString
您的班级没有强制执行的约束,这是没有意义的。
这样的事情可以用静态方法完成。
T
答案 1 :(得分:0)
这应该有效 -
? super
您也可以删除所有 C1 C2 C3 C4
R1 11 21 31 a1
R2 de bc cc b
R3 dc ec dc c
R4 gc gc gc d
部分;没有通配符,它应该可以正常工作。