未检查或不安全操作错误[英] unchecked or unsafe operation error

问题描述

我制作了这个程序来寻找最长的渐进序列.虽然它运行但我收到以下编译时错误:Sequence.java 使用未经检查或不安全的操作.使用 -Xlint 重新编译:详细信息未选中.

import java.util.Scanner;
import java.util.TreeSet;
public class Sequence
{
public static void main(String [] args)
{
    Scanner s=new Scanner(System.in);
    System.out.println("Enter the length of the sequence");
    int t=s.nextInt();
    System.out.println("Enter the elements of the sequence");
    int seq[]=new int[t];
    TreeSet ans=new TreeSet();
    int i,j;
    for(i=0;i<seq.length;i++)
    {
        seq[i]=s.nextInt();
    }
     for(i=seq.length-1;i>=0;i--)
     {
         int k=seq[i];
         boolean f=true;

       for(j=i-1;j>=0;j--)
         { 

            if(k<seq[j])
             {
                 f=false;

             }
         }

         if(f==true)
             ans.add(k);
        }
     Object[] obj=ans.toArray();  
     for(i=0;i<obj.length;i++)
     {
         System.out.print(obj[i]+" ");
     }

 }
 } 

我该如何纠正我的错误?

推荐答案

TreeSet 是一个泛型类.你需要给它一个类型.看起来您正在将 ints 添加到其中,因此正确的声明将是

TreeSet<Integer> ans = new TreeSet<>();

或者,在 Java7 之前的版本中,

TreeSet<Integer> ans = new TreeSet<Integer>();

本文地址:https://www.itbaoku.cn/post/978581.html