2011-12-12 22 views
9

Kullanımdan kaldırıldığım, kullanımdan kaldırılmış bir sınıfı içe aktarıyorum.İçe Aktarılan Tür Uyarılar için İçe Aktarmayla İfade Bildirimi

Kullanımdan kaldırılan hatayı @SuppressWarnings("deprecation") ek açıklamasını kullanarak bastırmak istiyorum. O notu üzerine açıklama gereği

: tarzı bir mesele olarak

, programcılar her zaman etkili olduğunu en derinden yuvalanmış eleman bu ek açıklama kullanmalıdır. , belirli bir yöntemde bir uyarıyı bastırmak isterseniz, sınıfından ziyade yöntemine ek açıklama eklemeniz gerekir.

Yani açıkça sınıf açıklama ve böylece benim sınıf kullanan herhangi türüne deprecation uyarıları bastırmak istemiyorum, ama aynı zamanda tam tür adı yazarak önlemek için import deyimini kullanmak istiyorum Tüm monitörümü kapsayan, kullanımdan kaldırılan sınıfın her kullanımında.

Ben (@SuppressWarnings (NOT MÜMKÜN) ile import deyimi annotating ya yönelik uyarıları görmezden hangi tip @SuppressWarnings ek açıklamada belirterek böyle bir şey yapmak istiyorum düşünüyorum mesela @SuppressWarnings("deprecation", "fully.qualified.type.name").

Ben derleyici belirtmek istiyorum " Bunu kullanmam tamamsa, ve bu basit sınıf tarafından referans verilen, kullanımdan kaldırılmış bir sınıfı, diğer sınıftaki herhangi bir yerde ve referans verdiğim diğer onaylanmamış sınıflar hakkında bana bilgi vermelisiniz. ".

Bir şey var mı Bu gibi mevcut?

+0

Tüm monitörün tam kapsamlı adı var mı? Merak ediyorum neden bu kadar daraltılmış ... – corsiKa

+0

Muhtemelen birkaç küçük projeye bölünmesi gereken büyük bir proje ... ama bu benim departmanım değil. –

+3

Sadece derleyici uyarısı sizi rahatsız ediyor mu? – Paul

cevap

4

Bu şekilde çalışmanın bir yolu, Deprecated sınıfını genişletebileceğinizi varsayarak aşağıdakileri yapmak olacaktır.

import comp.DeprecatedClass; 

@SuppressWarnings("deprecation") public class MyDeprecatedClass extends DeprecatedClass{ } 

Ardından, uyarılar hakkında endişelenmenize gerek kalmadan sürümünüzü kullanabilirsiniz.

+0

Çoğaltması Bunun bir seçenek olduğunu varsayalım, sınıfın kesin olmaması ve yeni eklemeye gerek olmaması sınıf hiyerarşisi katmanı. Yine de bana oldukça aşırı bir çözüm gibi görünüyor. Ayrıca: Bunu yaparsanız, hiçbir şey yanlış bir şekilde MyDeprecatedClass'ın başka bir yerde yeniden kullanılmasını ve uyarı iletilerini görmenizi engeller. –

+0

Eclipse'i kullanırken, "@SuppressWarnings (value = {" depecation "})" gösterecektir MyDeprecatedClass üzerine gelebilirim. "Böylece, onu gizli bir şekilde baskıladığınızı gösteren bir işaret verir.Bu aşırı olduğu konusunda hemfikir olmakla birlikte, bunu kullanmak istediğiniz yerde yapmaktan kurtulabilirsiniz: @SuppressWarnings ("depecation") özel sınıf MyDeprecatedClass comp.DeprecatedClass'ı genişletir {} Ne yazık ki, bu hoş değil etrafında çalışmak. – Jyro117

İlgili konular