Ben Sen javaJava koşullu ithalat
ileAma sizi koşullu ithalat yok
ifdef TEST
import com.google.mystubs.swing;
elif
import javax.swing.*;
endif
Ben Sen javaJava koşullu ithalat
ileAma sizi koşullu ithalat yok
ifdef TEST
import com.google.mystubs.swing;
elif
import javax.swing.*;
endif
ulaşmak istediği şey olup
if(useSql){
java.sql.Date date = new java.sql.Date()
}else{
java.util.Date date = new java.util.Date()
}
: koşullu örneğin tam adı
kullanarak aynı isimde farklı sınıfları kullanabilir
Bu, yalnızca iki Tarihler ortak bir arayüz uyguladı. – gdw2
Bu kitaplıkların her ikisi de harici JAR'lar olup olmadığını söyleyin. Derleyici, "useSql", "static final" ise derlenmiş koddaki JAR'ları içerir mi? –
Evet. olacak. ancak hala çalışma zamanı sırasında bunu sağlamanız gerekiyor –
Herhangi bir koşullu ithalat yok java
Java Şartları desteklemiyor import
.
Java'da bunun için destek yok.
#IFDEF'in işlemci öncesi aşamada C++ 'da gerçekleştirildiğini unutmayın - Bunun için Java'da destek yok.
Denemeler, JDK 1.5'de ek açıklamaların sunulmasından önce, deneme notu işlemcisi gibi bir şey olabilir.
Ayrıca, derleme sırasında işlenecek ek açıklamaları kullanabilirsiniz.
This blog, size bazı bilgiler sağlar
Yapmaya çalıştığınız şey geçerli bir fikirdir, ancak bunun yerine sahtekarları kullanmalısınız. Mockito bunun için harika bir kütüphanedir.
Bu paradigma biraz farklıdır, ama alaycı bir kütüphaneyle ünite testine bakmalı ve bunu anlaman gerekir, ki bu da denediğin şeyi daha iyi bir şekilde (benim düşünceme göre) yapmana izin verir. . , Hatta sen deyimi ise ve geleneksel kullanabilirsiniz
//#ifdef FLAG
//+prefix
import some.class.Clazz;
//-prefix
Clazz.call();
//#endif
Java Comment Preprocessor sonuç belgesinde önek ve sonek bölümlerini destekler ve sınıf ithal bölümünü oluşturmak üzere çok yararlıdır daha sonra içe aktarma yerine Class.forName("example.ExampleClass")
yapın. Class
nesnesini döndürdüğünüzde Class.newInstance()
numaralı telefonu açabilirsiniz. Koşullu içe aktarmaya benzer bir şey yapmanın yanı sıra, mevcut olmayan bağımlılıklar için derleme zamanı hatalarından kaçınmanıza da izin verir.
senin sınıfın ortasında ithalat dizesini yerleştirebilirsiniz
Muhtemel alt kümesi: http://stackoverflow.com/questions/4526113/java-conditional-compilation-how-to-prevent-code-chunks-to-be-compiled –