簡體   English   中英

檢查實現后,如何允許來自接口的方法?

[英]after check for implementation, how to allow method from interface?

我正在努力為這個問題命名,但基本上這就是正在發生的事情。 我正在實現一個冒泡排序算法,但顯然,它需要compareTo方法,這是Comparable接口的一部分。 所以在我的方法中,我添加了以下內容:

if(!(array[0] instanceof Comparable)) // dont allow non-comparable objects
     return;

所以現在在array[j]上,我需要調用array[j].compareTo(array[i+j]) 但是當我這樣做時,有一個錯誤說 object 沒有compareTo 但我知道有嗎? 我怎樣才能解決這個問題?

你需要投射它

((Comparable)array[j]).compareTo(array[i+j])

無論如何,這不是解決此問題的正確方法。 相反,您的數組應該是Comparable[]或者數組的類型應該從這個接口繼承或者需要compareTo方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM