小编And*_*mov的帖子

为什么serialVersionUID字段存在?

它让我从Serializable界面的启动中感到困惑,为什么我必须在我的所有课程中加入这个领域.我知道这个接口需要一个唯一的标识符来标记类,但为什么它们不能在运行时生成它.例如,他们可以使用完全限定类名的MD5哈希或者用于处理罕见事件中的重复项的类似方法来生成它(也就是说,我确定,当被要求生成id时,eclipse会做什么).

所以我要问的是(这篇文章不仅仅是对标准库的咆哮)究竟是如何使用框架化序列化字段的?

我想知道的原因是因为我将尝试创建一个Aspect(使用AspectJ或其他语言),它将使用MD5哈希添加serialVersionUID字段,并且能够以API可接受的方式处理冲突.

如果我能让它发挥作用,我会发布结果.

java serializable serialversionuid aspects

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

百分位数计算器

我一直在尝试创建一个小方法来计算seq中给定的百分位数.它几乎可以工作.问题是我不知道为什么不起作用.我希望你的一个"比我更聪明"的人可以帮助我.

我希望结果是它将从seq中返回seq的项目小于等于返回值的项目.

def percentile[Int](p: Int)(seq: Seq[Int]) = {
  require(0 <= p && p <= 100)                      // some value requirements
  require(!seq.isEmpty)                            // more value requirements
  val sorted = seq.sorted
  val k = math.ceil((seq.length - 1) * (p / 100)).toInt
  return sorted(k)
}
Run Code Online (Sandbox Code Playgroud)

所以,例如,如果我有

val v = Vector(7, 34, 39, 18, 16, 17, 21, 36, 17, 2, 4, 39, 4, 19, 2, 12, 35, 13, 40, 37)
Run Code Online (Sandbox Code Playgroud)

我调用我的函数percentile(11)(v)返回值为2.但是,10%的向量小于或等于2,而不是像我调用的11%.percentile(11)(v)应该返回4.

scala percentile

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

内置 JAR 的代码覆盖率

是否能够为属于我的类路径的 JAR 文件生成代码覆盖率报告?

jar已经编译并添加为库摇篮工程。

的测试代码jar存储在项目中。

java code-coverage jacoco

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

ByteBuffer到Java中的String

我有这行代码

String s = new String(m_buffer.array());
Run Code Online (Sandbox Code Playgroud)

其中buffer是ByteBuffer.

有没有办法将bytebuffer转换为字符串而不分配新的String和/或涉及复制char数组?(也就是说,有没有办法将String的char []值安全地指向ByteBuffer的byte [] hb?)

谢谢

java bytebuffer

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

Java 长轮询:单独的线程?

由于浏览器兼容性问题,我决定使用长轮询来实现实时同步和通知系统。我在后端使用 Java,到目前为止我发现的所有示例都是 PHP。他们倾向于使用 while 循环和 sleep 方法。我如何在 Java 中复制这种事情?有一种Thread.sleep()方法,它导致我......我应该为每个发出民意调查的用户使用单独的线程吗?如果我不使用单独的线程,轮询请求是否会阻塞服务器?

java long-polling

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

使用什么代替不推荐使用的语言环境

我正在尝试使用以下代码行在我的应用程序中返回语言环境:

Locale current = getResources().getConfiguration().locale;
Run Code Online (Sandbox Code Playgroud)

的minSdkVersion是15和编译与24,但locale已过时,会不会影响我的应用程序的效率?

还有其他“不建议弃用”的方式来检索语言环境吗?

android localization

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

Spring Java配置相同的Bean引用

通过问题在Spring的Java配置中自动装配bean我得到了一个问题.

@Configuration
public class Config {

   @Bean
   public RandomBean randomBean(){
       return new RandomBean();
   }

   @Bean
   public AnotherBean anotherBean(){
       return new AnotherBean(randomBean()); // this line
   }

}
Run Code Online (Sandbox Code Playgroud)

Spring如何保证该方法randomBean()将返回与注入的方法相同的引用AnotherBean

它是通过代理实现的吗?

另一方面,通过提供依赖项作为方法参数来实现它是显而易见的:

@Configuration
public class Config {

   @Bean
   public RandomBean randomBean(){
       return new RandomBean();
   }

   @Bean
   public AnotherBean anotherBean(RandomBean randomBean){
       return new AnotherBean(randomBean);
   }

}
Run Code Online (Sandbox Code Playgroud)

编辑:最后,我发现了有关基于Java的配置如何内部工作的更多信息中描述的此行为主题.

java spring spring-java-config

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

将字符串转换为字符序列

String显式转换的目的是什么CharSequenceString本身实现CharSequence接口。

CharSequenceSpring 4.x从 1.4 开始支持 Java 6+ 。

Spring框架的代码片段:

public static boolean hasText(String str) {
    // Why do we cast str to CharSequence? 
    return hasText((CharSequence) str);
}

public static boolean hasText(CharSequence str) {
    if (!hasLength(str)) {
        return false;
    }

    int strLen = str.length();
    for (int i = 0; i < strLen; i++) {
        if (!Character.isWhitespace(str.charAt(i))) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

java string casting charsequence

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

播放Json:自定义读取一个字段

假设我必须Reads[Person]Person类编写自定义:

import play.api.libs.functional.syntax._

implicit val personReads: Reads[Person] = (
    (__ \ "name").read[String] and // or ~
      (__ \ "age").readNullable[Int]
    ) ((name, age) => Person(name = name, age = age))
Run Code Online (Sandbox Code Playgroud)

它的工作原理就像一种魅力,真的(不)。

但是,当json对象中只有一个字段时,我该怎么办?

的核心ReadsWrites是其中变换这些“解析”的步骤的功能的语法。

以下内容无法编译:

import play.api.libs.functional.syntax._

implicit val personReads: Reads[Person] = (
    (__ \ "name").read[String]
    ) (name => Person(name = name))
Run Code Online (Sandbox Code Playgroud)

您能建议如何处理吗?

json scala play-json

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

以编程方式应用于Button时,样式无法完全起作用

这是我的风格:

<style name="buttonQuestionStyle" parent="@style/Widget.AppCompat.Button.Colored">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">16sp</item>
    <item name="android:padding">25dp</item>
    <item name="android:layout_margin">10dp</item>
    <item name="android:background">@color/questionButton</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

Button btn = new Button(getActivity());
btn.setText(ojb.getText());
if (Build.VERSION.SDK_INT < 23) {
    btn.setTextAppearance(getActivity(), R.style.buttonQuestionStyle);
} else {
    btn.setTextAppearance(R.style.buttonQuestionStyle);
}
Run Code Online (Sandbox Code Playgroud)

在应用程序中:

以编程方式显示如下按钮: 以编程方式按钮

通过布局它起作用了。出现如下: xml布局按钮

这是我在XML布局中的代码:

<Button
    android:text="Question"
    style="@style/buttonQuestionStyle" />
Run Code Online (Sandbox Code Playgroud)

所以...我不知道为什么会发生,以及如何解决。

android android-fragments android-studio

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