osgi:使用ServiceFactories?

我目前正在尝试获得一个包含Service Factory运行的简单包。 这是我的工厂类: public class SvcFactory implements ServiceFactory { @Override public ServiceB getService(Bundle bundle, ServiceRegistration registration) { return new ServiceBImpl(); } @Override public void ungetService(Bundle bundle, ServiceRegistration registration, ServiceB service) { } } 这是我应该由工厂创建的服务: public class ServiceBImpl implements ServiceB { private ServiceA svcA; public void setA(ServiceA a) { svcA = a; } } 最后是OSGI-INF / […]

Lambda表达式如何在Java字节代码中进行翻译

我试图在java中使用lambda表达式创建一个示例,我正在使用官方JDK8。 我的例子运行成功。 但是当我试图检查编译器如何将lambda表达式转换为字节代码时,这让我有些困惑。以下是我的例子的代码: – public class LambdaTest { public Integer lambdaBinaryOpertor(BinaryOperator binaryOperator) { return binaryOperator.apply(60, 72); } public static void main(String[] args) { LambdaTest test = new LambdaTest(); BinaryOperator binaryOperator = (a, b) -> a*b; System.out.println(“Additon using Lambda BinaryOperator: “+test.lambdaBinaryOpertor(binaryOperator)); } } 在本文中,他们讨论了编译器如何将lambda表达式转换为字节代码。 根据这个文档,lambda表达式转换为static方法和lambda表达式声明的位置,具有lambda static方法的引用。 以下示例位于文章中: //Source code class A { public void foo() { […]

如何在JTable中动态设置RowHeight

我想在一个比给定单元格宽度更长的JTable中放置一个String。 如何动态设置rowHeight以便我可以读取整个String? 这是一个例子: import javax.swing.*; public class ExampleTable { public JPanel createTable() { JPanel totalGUI = new JPanel(); //define titles for table String[] title = {“TITLE1”, “TITLE2”, “TITLE3”}; //table data Object[][] playerdata = { {new Integer(34), “Steve”, “test test test”}, {new Integer(32), “Patrick”, “dumdi dumdi dummdi dumm di di didumm”}, {new Integer(10), “Sarah”, “blabla bla […]

Spring @RequestBody包含不同类型的列表(但是相同的接口)

假设我有一个域类: public class Zoo{ private List animals; …. 其中Animal是具有不同实现的接口(Cat,Dog)。 假设我希望能够保存Zoo对象: @RequestMapping(value = “/zoo”, method = RequestMethod.POST) public @ResponseBody void save(@RequestBody Zoo zoo) { …. 我想发送一个json – 类似于: { animals:[ {type:’Cat’, whiskers-length:’3′}, {type:’Dog’, name:’Fancy’} ] } 当键入==’Cat’时,如何告诉spring MVC将动物映射到Cat类型,并在键入==’Dog’时将其映射到Dog类?

地理编码器并不总是返回值

我能够成功获得lat / long并将其传递给地理编码器以获取地址。 但是,我并不总是得到一个地址。 好像需要几次尝试? 我不知道为什么。 在这一点上,我有更好的方法来获取地址吗? public List getAddresses(){ Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault()); List addresses = new ArrayList(); try { addresses = geocoder.getFromLocation(latitude, longitude, 1); } catch (IOException e) { e.printStackTrace(); } return addresses; } 我在这里称这个方法: LocationListener onLocationChange=new LocationListener() { public void onLocationChanged(Location loc) { //sets and displays the lat/long when a […]

带有ProgressDialog的外部AsyncTask类

**更新:(见下文)**我一直在寻找几天,但找不到对此的直接答案。 有人说有可能有人说完成一些说它不是。 我对此感到疯狂。 我想要的只是让AsyncTaskTask显示进度条和外部类。 要做到这一点,我正在传递上下文,你可以在主类中看到。 但无论我尝试什么,我都会得到NullPointerException 。 工作代码示例表示赞赏。 谢谢 顺便使用Android 2.2。 主要: import android.app.Activity; import android.os.Bundle; public class AsyncDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new AsyncClass(this).execute(); } } AsyncClass.java import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.os.SystemClock; public class AsyncClass extends AsyncTask { private Context context; ProgressDialog dialog = […]

新的ObjectInputStream()块

public class SerProg { static ServerSocket ser=null; static Socket cli=null; static ObjectInputStream ins=null; static ObjectOutputStream outs=null; public static void main(String[] args) { try { ser=new ServerSocket(9000,10); cli=ser.accept(); System.out.println(“Connected to :”+cli.getInetAddress().getHostAddress()+” At Port :”+cli.getLocalPort()); ins=new ObjectInputStream(cli.getInputStream()); outs=new ObjectOutputStream(cli.getOutputStream()); String str=(String)ins.readObject(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 和客户 public […]

获取内容类型的最快方法

我需要为用户插入的url内容类型(如果是图像,音频或video)进行搜索。 我有这样的代码: URL url = new URL(urlname); URLConnection connection = url.openConnection(); connection.connect(); String contentType = connection.getContentType(); 我正在获取内容类型,但问题是,似乎有必要下载整个文件来检查它的内容类型。 因此,当文件非常大时,它会持续太长时间。 我需要在Google App Engine应用程序中使用它,因此请求限制为30秒。 有没有其他方法来获取url的内容类型而不下载文件(所以它可以更快地完成)?

治愈“字符串” – “评论中不允许”。 例外?

我正在使用Java 6.我在我的pom中有这种依赖… xerces xercesImpl 2.10.0 我正在尝试使用此行解析XHTML文档 使用此代码…… DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setExpandEntityReferences(false); factory.setFeature(“http://apache.org/xml/features/nonvalidating/load-external-dtd”, false); final DocumentBuilder builder = factory.newDocumentBuilder(); final InputSource s = new InputSource(new StringReader(str)); org.w3c.dom.Document result = builder.parse(s); 但我的解析因以下exception而死亡…… [Fatal Error] :91:947: The string “–” is not permitted within comments. org.xml.sax.SAXParseException: The string “–” is not permitted within comments. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) […]

类与接口

我有一个非常基本的问题: 我们什么时候应该决定为特定类使用Interface还是Class? 例如:说我们有2个class,客户和博士。 在inheritance(类)中:我们可以将这两个类设置为从父类Personinheritance。 我们不能对Interface做同样的事情吗? 说我们有InterfacePerson并且Customer和Doctor都实现了接口吗? 因此,这导致:我们何时决定使用一个而不是另一个,反之亦然?