标签: java-api

Java动态代码生成,支持泛型

是否有任何工具可以提供Java动态代码生成并且还支持泛型?

例如,Javassist是我需要的工具,但它不支持泛型.

我写了一个使用Java 6 Compiler API的小型lib,但据我所知它依赖于JDK.有没有办法指定另一个编译器?或者只向我的应用程序提供我需要使用Java Compiler API调用的部分?

java java-api dynamic-code java-compiler-api

6
推荐指数
1
解决办法
2440
查看次数

使用JAVA API查找知道电子邮件地址的SMTP主机和端口

我做了一个简单的应用程序来使用Java API发送电子邮件,并提出一个问题:

有没有办法找出SMTP主机知道将登录发送电子邮件的人的电子邮件地址?还有港口?

例如,如果发件人的电子邮件地址是sender@gmail.com,则SMTP主机为smtp.gmail.com,端口为465.如果发件人的电子邮件地址为sender@yahoo.com,则SMTP主机为smtp .yahoomail.com和25端口.

假设我不知道这个,有没有办法使用Java API类找到这些信息?请注意我是java的新手:)

提前致谢,

安德列亚


谢谢你的回答.我试过做以下事情:

    public static String getMXRecordsForEmailAddress(String eMailAddress) { 

            String returnValue = null; 

            try { 
                String hostName = getHostNameFromEmailAddress(eMailAddress); 
                Record[] records = new Lookup(hostName, Type.MX).run(); 
                if (records == null) { 
             throw new RuntimeException("No MX records found for domain " + hostName + ".");
 } 

                // return first entry (not the best solution) 
                if (records.length > 0) { 
                        MXRecord mx = (MXRecord) records[0]; 
                        returnValue = mx.getTarget().toString(); 
                } 
            } catch (TextParseException e) { 
                throw new …
Run Code Online (Sandbox Code Playgroud)

java jakarta-mail java-api

6
推荐指数
1
解决办法
1万
查看次数

为什么Java 8的ToIntFunction <T>不扩展Function <T,Integer>

如果我编写了ToIntFunction接口,我想在接口中编码它只是一个返回原始int的函数,如下所示:

@FunctionalInterface
public interface ToIntFunction<T> extends Function<T, Integer> {
    int applyAsInt(T value);

    @Override
    default Integer apply(T value) {
        return Integer.valueOf(applyAsInt(value));
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道,有没有令人信服的理由让Java 8 API设计人员选择将原始备选方案与Function完全分开?是否有一些证据表明他们认为这样做并决定反对呢?我想类似的问题至少包括其他一些"特殊"功能接口,如Consumer(可能是Function <T,Void>)和Supplier(Function <Void,T>).

我没有深入和彻底地考虑过这个问题的所有后果,所以我可能会遗漏一些东西.

如果ToIntFunction(和其他原始泛型函数接口)与Function有这种关系,它将允许一个人在预期使用Function参数的位置使用它(想到的是与其他函数的组合,例如调用myFunction.compose(myIntFunction))或者当在如上所述的这种自动(非)装箱实现就足够时避免在API中编写几个专用函数.

这与这个问题非常相似:为什么Java 8的Predicate <T>不扩展Function <T,Boolean>但我已经意识到答案可能因语义原因而不同.因此,我正在重新设计这个函数的简单原始替代方案的问题,其中不存在任何语义,只是原始与包装类型,甚至消除了空包装对象的可能性.

java java-api java-8 functional-interface

6
推荐指数
2
解决办法
725
查看次数

使用null参数从Scala调用Java API

我有一些需要调用Java API的Scala代码

Java API接受可能为null的参数.我的Scala当然使用了Option.

举例来说,假设我有一个Java对象的构造Foo(Integer),其中Integer可能null.我想给Scala打电话bar: Option[Int].

我试过这个

import scala.collection.JavaConversions._
import scala.collection.JavaConverters._

val foo = Foo( bar.getOrElse(null) )
Run Code Online (Sandbox Code Playgroud)

但得到了这个编译错误

Error:(335, 44) type mismatch;
  found   : Any
  required: Integer
  bar.getOrElse(null),
Run Code Online (Sandbox Code Playgroud)

这样做的正确习惯是什么?

null scala java-api scala-option

6
推荐指数
2
解决办法
1498
查看次数

使用java中的elasticSearch 2.3.3按索引名称和类型删除索引

我在java中有一个项目,我使用弹性搜索2.3.3索引数据.索引有两种类型.

我的索引文档看起来像:

{
   "took": 10,
   "timed_out": false,
   "_shards": {
      "total": 1,
      "successful": 1,
      "failed": 0
   },
  "hits": {
      "total": 3,
      "max_score": 1,
      "hits": [
        {
           "_index": "test_index",
           "_type": "movies",
           "_id": "uReb0g9KSLKS18sTATdr3A",
           "_score": 1,
           "_source": {
              "genre": "Thriller"
            }
       },
       {
           "_index": "test_index",
           "_type": "drama",
           "_id": "cReb0g9KSKLS18sTATdr3B",
           "_score": 1,
           "_source": {
              "genre": "SuperNatural"
            }
        },
        {
           "_index": "index1",
           "_type": "drama",
           "_id": "cReb0g9KSKLS18sT76ng3B",
           "_score": 1,
           "_source": {
              "genre": "Romance"
            }
         }
      ]
   }
}
Run Code Online (Sandbox Code Playgroud)

我需要删除特定名称的索引和类型.

例如: -从上面的doc,我想删除名为"test_index"的索引并输入"drama". …

java spring java-api elasticsearch

6
推荐指数
1
解决办法
999
查看次数

如何在JAVA中的rest API中将图像返回到浏览器?

我想要一个像我这样的API的图像 localhost:8080:/getImage/app/path={imagePath}

当我点击这个API时,它会返回一个Image.

这可能吗?

实际上,我试过这个,但它给了我一个错误.这是我的代码,

@GET
@Path("/app")
public BufferedImage getFullImage(@Context UriInfo info) throws MalformedURLException, IOException {
    String objectKey = info.getQueryParameters().getFirst("path");

    return resizeImage(300, 300, objectKey);
}


public static BufferedImage resizeImage(int width, int height, String imagePath)
        throws MalformedURLException, IOException {
    BufferedImage bufferedImage = ImageIO.read(new URL(imagePath));
    final Graphics2D graphics2D = bufferedImage.createGraphics();
    graphics2D.setComposite(AlphaComposite.Src);
    // below three lines are for RenderingHints for better image quality at cost of
    // higher processing time
    graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
    graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    graphics2D.drawImage(bufferedImage, 0, 0, width, height, null);
    graphics2D.dispose(); …
Run Code Online (Sandbox Code Playgroud)

java spring java-api restful-url

6
推荐指数
1
解决办法
4857
查看次数

为什么java.util.Scanner类声明为'final'?

我使用Scanner类来读取多个类似的文件.我想扩展它以确保它们都使用相同的分隔符,我还可以添加所有对它们都有效的skipUntilYouFind(String thisHere)等方法.

我可以创建一个包含它们的实用程序类,或者将Scanner类作为变量嵌入到另一个类中,但这更麻烦.

我找到了一些宣布课堂决赛的理由,但为什么要在这里完成呢?

java oop final java-api

5
推荐指数
1
解决办法
2394
查看次数

Java音频转换器api

我正在寻找一个全面的Java API,可以转换各种格式和比特率的音频.

例如WAV(6kHz至48kHz)L16 /音频--- TO --- WAV(RIFF标题)8KHz 8位单声道A-law/U-law AIFF(6kHz至48kHz)L16 /音频--- TO-- - WAV(RIFF标头)8KHz 8位单声道A-law/U-law

和其他语音音频格式.

关于音频转换的类似Java库的任何其他建议也受到欢迎.

java audio java-api audio-converter

5
推荐指数
1
解决办法
8315
查看次数

弹性搜索传输客户端.Singleton vs每个呼叫与连接池的一个新实例(如果有)

我正在使用弹性搜索传输客户端连接到弹性搜索.我尝试过两种方法

1)在我的整个应用程序中共享Singleton客户端.响应时间在1-2秒之间

2)每次调用Elastic Search的新客户端实例,大约需要7秒才能响应.具体而言,有5个类需要连接ES群集,此方法为每个类创建一个新的传输客户端.

1)在弹性搜索方面是一个很好的方法,因为通常不建议使用单例数据库连接对象吗?

是否有可用于Elastic Search的连接池机制,就像我们有关系数据库的DBCP一样?

dbconnection java-api elasticsearch

5
推荐指数
1
解决办法
6164
查看次数

Elasticsearch内部命中java api

我正在尝试使用Java API实现弹性搜索的内部命中,但我找不到任何关于它的文档或其他人正在使用的示例.我有我的JSON搜索,其工作方式如下:

{
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "nested": {
          "path": "locations",
          "filter": {
            "geo_distance": {
              "distance": "20km",
              "locations.address.geoLocation": {
                "lat": 38.07061,
                "lon": -76.77514
              }
            }
          },
          "inner_hits": {}
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我在elasticsearch库中看到了InnerHitsBuilder和addInnerHit方法,但我找不到有关如何使用它们的文档.

hit nested java-api elasticsearch

5
推荐指数
1
解决办法
4200
查看次数