小编zak*_*yed的帖子

当参数是文字空值时,如何选择重载方法?

我在测验中遇到了这个问题,

public class MoneyCalc {

   public void method(Object o) {
      System.out.println("Object Verion");
   }

   public void method(String s) {
      System.out.println("String Version");
   }

   public static void main(String args[]) {
      MoneyCalc question = new MoneyCalc();
      question.method(null);
   }
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出是"String Version".但是我无法理解为什么将null传递给重载方法会选择字符串版本.null是一个String变量,指向什么?

但是当代码更改为时,

public class MoneyCalc {

   public void method(StringBuffer sb) {
      System.out.println("StringBuffer Verion");
   }

   public void method(String s) {
      System.out.println("String Version");
   }

   public static void main(String args[]) {
      MoneyCalc question = new MoneyCalc();
      question.method(null);
   }
}
Run Code Online (Sandbox Code Playgroud)

它给出了一个编译错误,说"方法方法(StringBuffer)对于MoneyCalc类型是不明确的"

java overloading

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

Datastax传输异常错误编写

我有一个连接到cassandra实例的Java API应用程序。我的cassandra实例托管在Google云平台上。当我在IDE中运行该程序时,它可以正常工作,并且能够连接到cassandra实例。但是,当我在Docker容器中部署应用程序时,出现以下错误

com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /104.X.X.X:9042 (com.datastax.driver.core.exceptions.TransportException: [/104.X.X.X:9042] Error writing
Run Code Online (Sandbox Code Playgroud)

从容器内部,我可以ping Cassandra实例。我在Google端看到的大多数错误都是“连接已关闭”或“频道已关闭”或“无法连接”。但是,此操作以“错误写入”结束,请有人帮我解决此问题。

java cassandra kundera docker datastax

5
推荐指数
0
解决办法
803
查看次数

firestore 对不返回数据的读取是否收费

我检查了 firebase 上的文档,但它没有提到这种情况,例如我有一个包含 100,000 条记录的集合,但我运行的查询没有返回任何结果,这意味着没有一个文档满足条件。检查100,000份文件仍需付费吗?

我目前在节点服务器中运行一个 cron 作业,它不断查询 firestore 数据库以查看已过期的记录,如果记录已过期(这是通过检查时间戳与当前时间戳来完成的),那么我正在更新中的字段该文件。我注意到即使结果集是空的,我也要为读取付费。

firebase google-cloud-platform google-cloud-firestore

4
推荐指数
1
解决办法
1747
查看次数

找到我使用arraylist.contains的算法的大哦符号

我正在学习大哦记谱法.对于下面的代码,我有一个计算单词数量的程序,跳过分隔符.对于这个算法,for循环将是句子的长度,然后包含迭代到字符串的包含.所以根据我的说法,这个算法的大哦符号是O(n ^ 3).这是正确的还是我错过了一些关于大哦符号的东西?

public class wordCount {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    String sentence = "How are you,zak;far: mon. day ?:";
    int count = 1;
    ArrayList<Character> delim = new ArrayList<Character>();
    delim.add(' ');
    delim.add(',');
    delim.add('.');
    delim.add(':');
    delim.add(';');
    delim.add('"');
    delim.add('\'');
    for (int i = 0; i != sentence.length() - 1; i++) {
        if (delim.contains(sentence.charAt(i))) {
            if (!delim.contains(sentence.charAt(i + 1))) {
                count++;
            }
        }
    }
    System.out.println("The count is: " + count);
} …
Run Code Online (Sandbox Code Playgroud)

java arraylist

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

Cassandra映射器没有映射到类

我正在构建一个REST API,我有访问器,

    @Accessor
public interface ActiveBidAccessor {
    @Query("SELECT * FROM keyspace.active_bid WHERE username = :username")
    public Result<ActiveBid> getAllByUsersname(@Param("username") String username);


    @Query("SELECT * FROM keyspace.active_bid")
    public Result<ActiveBid> getAll();
}
Run Code Online (Sandbox Code Playgroud)

和ActiveBid类

@Table(keyspace = "keyspace", name = "active_bid", readConsistency = "QUORUM", writeConsistency = "QUORUM", caseSensitiveKeyspace = false, caseSensitiveTable = false)
public class ActiveBid {
    @PartitionKey
    UUID uid;
    @ClusteringColumn
    @Column(name = "username")
    String username;
    @Column(name = "project_name")
    String projectName;
    @Column(name = "project_link")
    String projectLink;
    @Column(name = "total_bid")
    int totalBid;
    @Column(name = "user_bid")
    long userBid; …
Run Code Online (Sandbox Code Playgroud)

java cassandra

0
推荐指数
1
解决办法
1615
查看次数