java - 在 Android Studio 中找不到符号类 vector

标签 java android android-studio

我在我的项目中收到此错误“找不到符号类 vector ”。 我有整个java.util,其中Vector 类。 我尝试更改 build.gradle 上的版本,但没有帮助。

如果有任何建议,我将不胜感激。

public class ObjectDetection {

    vector <DMatch> matches;
    public vector <ObjectRep> targets; // wektor zawierający obiekty klasy ObjectRep (jeszcze nie zawiera)
    float maxDist;
    ArrayList<Float> distances = new ArrayList<Float>();
    int noOfBestFeatures = 10;
    float distance;



    private float match(Mat frameDes, Mat objectDes)
    {
        MatOfDMatch matches = new MatOfDMatch();
        DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.
                BRUTEFORCE_HAMMINGLUT) ;

       matcher.match(frameDes, objectDes, matches);


        List<DMatch> matchesList = matches.toList();


        if(matchesList.size()<noOfBestFeatures)
            return Float.MAX_VALUE;


        float sum = 0f;
        float min = matchesList.get(0).distance;
        distances.clear();


        for(DMatch match : matchesList){
            min = Math.min(min, match.distance);
            distances.add(match.distance);
        }


        if(distances.size()<noOfBestFeatures)
            return Float.MAX_VALUE;


        Collections.sort(distances);
        for(int i = 0; i<noOfBestFeatures; i++) sum += distances.get(i);
        return sum;
    }

    public void findBestMatch(Mat cFrameDescriptors){


        if(targets==null)
            return;
        //Log.d("", " MAtching");


        if(cFrameDescriptors.size().height<1)   //jeżeli ramka ta jest mniejsza od 1 nie bierzemy pod uwagę
            return;
        matches.clear();
        float bestMatch = maxDist;
        Log.d("", " No of objects: " + targets.size());

        for(ObjectRep item : targets)
        {

            float match = match(cFrameDescriptors, item.bytesToMat());
            //Log.d("DETECTOR","OBJECT NAME: "+item.getName()+", match="+match );
            if(match>=maxDist) continue;
            matches.put(match, item);  // dodajemy do listy


            //Log.v("", Statics.LOGTAG+"item name: "+item.getName()+" match: "+match);
            bestMatch = Math.min(bestMatch, match);
        }


        Log.v("", " bestMatch: " + bestMatch);
        if(bestMatch == maxDist) return ;
        else
        {

            ObjectRep detectedObject=matches.get(bestMatch);
            String str=detectedObject.name;
            System.out.println("DETECTED: "+str);


        }


    }




}

最佳答案

你必须使用

Vector

而不是

vector

正确的类是java.util.Vector。这里the full doc .

关于java - 在 Android Studio 中找不到符号类 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33318179/

相关文章:

java - 为什么 java.util.Properties 扩展 Hashtable<Object, Object> 而不是 Hashtable<String, String>?

java - 如何使用 Spring 和 Ldap 将登录用户重定向到主页

java - 为什么三元运算符意外地转换为整数?

android - IBM Bluemix 在一段时间后断开 MqttAndroidClient

android-studio - flutter 完成,错误 : ProcessException: Permission denied

java - ByteBuffer 越界异常

android - 覆盖库的 dimens.xml 值

android - SQLITE3 和 Android 中的 rowid

android - AGPBI : Error retrieving parent for item: No resource found

java - 如何将 Firebase 实时数据库中的所有数据显示到 TextView 中