小编Xae*_*ess的帖子

Java中的谓词

我正在浏览PredicateJava 中使用的代码.我从来没用过Predicate.有人可以指导我Predicate在Java中的任何教程或概念解释及其实现吗?

java predicate guava

100
推荐指数
2
解决办法
10万
查看次数

番石榴:为什么没有Lists.filter()函数?

有没有理由呢

Lists.transform()
Run Code Online (Sandbox Code Playgroud)

但不是

Lists.filter()
Run Code Online (Sandbox Code Playgroud)

如何正确过滤列表?我可以用

new ArrayList(Collection2.filter())
Run Code Online (Sandbox Code Playgroud)

当然,但是如果我理解正确,这种方式并不保证我的订单保持不变.

java list filter guava

86
推荐指数
5
解决办法
4万
查看次数

如何在GWT的序列化策略白名单中添加类型?

GWT的序列化程序java.io.Serializable支持有限,但出于安全考虑,它支持的类型为白名单.我找到的文档,例如此FAQ条目表示您要序列化的任何类型"必须包含在序列化策略白名单中",并且列表是在编译时生成的,但不解释编译器如何决定什么在白名单上.

生成的列表包含许多属于标准库的类型,例如java.lang.Stringjava.util.HashMap.尝试序列化时出现错误java.sql.Date,该错误实现了Serializable接口,但不在白名单中.如何将此类型添加到列表中?

java gwt serialization whitelist

35
推荐指数
3
解决办法
3万
查看次数

从.emacs设置Emacs 24颜色主题

我的.emacs中有以下代码:

(if (null window-system)
  (progn
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-simple-1)))
Run Code Online (Sandbox Code Playgroud)

当我在控制台上打开Emacs时,我可以验证该progn块是否运行(通过a (message "Got here.")),并且我看到一个闪存,表明颜色主题已加载,但如果已加载,则会被其他内容覆盖.如果在加载后打开我的.emacs文件并使用上面提交的块C-x C-e,它就可以了.我试过做:

(add-hook 'after-init-hook
          (lambda ()
            (progn
              (require 'color-theme)
              (color-theme-initialize)
              (color-theme-simple-1))))
Run Code Online (Sandbox Code Playgroud)

但是行为是一样的.

可能与我使用Emacs 24相关,并且此代码不在我的.emacs中,而是在〜/ Dropbox/.emacs中,它是从我的.emacs加载的.


另外一个注意事项:我已经尝试过了M-x customize-themes,但是这些都没有在控制台上可以接受.它们或者产生几乎不可读的光主题,或者大部分文本是不可见的.

emacs dot-emacs emacs24

32
推荐指数
2
解决办法
5万
查看次数

为什么JUnit中的@Rule注释字段必须是公共的?

在JUnit测试用例中,注释的字段@Rule必须是公共的.它打破了常见的Java编码约定(所有类成员变量都不应该是公共的).为什么JUnit需要这个?

文档@Rule:https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java

java junit public junit-rule

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

无法解析 com.google.guava:guava:30.1-jre - Gradle 项目同步失败。基本功能将无法正常工作 - 在 kotlin 项目中

这是一个以前运行良好的项目,但是更新后出现以下错误。

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.retrofit_test"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

//    implementation 'com.google.guava:guava:30.1.1-jre'
    implementation 'com.google.guava:guava:30.1-jre'

//    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.30-M1'

    implementation 'androidx.core:core-ktx:1.6.0'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' …
Run Code Online (Sandbox Code Playgroud)

android gradle guava kotlin

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

使用Joda-Time DateTimeFormatter的genitive(波兰语语言环境)中的月份名称

我有LocalDate包含日期2012-12-28,我希望与本地的月名称(即十二月波兰)打印出来的所有格这在波兰是主格不同(grudniagrudzień分别).因为我也想使用自定义格式,我创建了自己的DateTimeFormatter使用DateTimeFormatterBuilder(在Joda-Time中,AFAIK是正确的方式):

private static final DateTimeFormatter CUSTOM_DATE_FORMATTER
    = new DateTimeFormatterBuilder()
        .appendLiteral("z dnia ")
        .appendDayOfMonth(1)
        .appendLiteral(' ')
        .appendText(new MonthNameGenitive()) // <--
        .appendLiteral(' ')
        .appendYear(4, 4)
        .appendLiteral(" r.")
        .toFormatter()
        .withLocale(new Locale("pl", "PL")); // not used in this case apparently
Run Code Online (Sandbox Code Playgroud)

输出应为" z dnia 28 grudnia 2012 r. ".

我的问题是关于标有箭头的线:我应该如何实施MonthNameGenitive?目前它扩展DateTimeFieldType并且有很多代码:

final class MonthNameGenitive extends DateTimeFieldType {
  private static final long serialVersionUID = 1L;

  MonthNameGenitive() {
    super("monthNameGenitive");
  }

  @Override
  public …
Run Code Online (Sandbox Code Playgroud)

java jodatime

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

Python宏:用例?

如果Python有一个类似于Lisp/Scheme的宏设施(比如MetaPython),你会如何使用它?

如果你是一个Lisp/Scheme程序员,你会使用什么样的宏(除了在Python中有明确的语法并行的东西,比如while循环)?

lisp python macros scheme

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

在文本框的按键中限制为2位小数?

我想在文本框中输入小数点.我想通过在小数点后输入2位以上来限制用户.我已经在Keypress活动中编写了实现该代码的代码.

function validateFloatKeyPress(el, evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;

    if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }

    if (charCode == 46 && el.value.indexOf(".") !== -1) {
        return false;
    }

    if (el.value.indexOf(".") !== -1)
    {
        var range = document.selection.createRange();

        if (range.text != ""){
        }
        else
        {
            var number = el.value.split('.');
            if (number.length == 2 && number[1].length > 1)
                return false;
        }
    }

    return true;
} …
Run Code Online (Sandbox Code Playgroud)

javascript validation keypress

20
推荐指数
3
解决办法
7万
查看次数

如何使用初始数据子类化django的通用CreateView?

我正在尝试创建一个对话框,该对话框使用jquery的.load()函数以渲染的django形式进行slurp..load函数传递给"alert"对象的pk.在类函数中也可以使用self.request.user这样的东西,所以我可以预先填充这些字段,如下面的消息模型(models.py)中所示:

class Message(models.Model):

    user = models.ForeignKey(User)
    alert = models.ForeignKey(Alert)
    date = models.DateTimeField()
    message = models.TextField()
Run Code Online (Sandbox Code Playgroud)

子类化django的CreateView使得使用ModelForm(views.py)的实例生成上下文非常容易:

class MessageDialogView(CreateView):
    """ show html form fragment """
    model = Message
    template_name = "message.html"

    def get_initial(self):
        super(MessageDialogView, self).get_initial()
        alert = Alert.objects.get(pk=self.request.POST.get("alert_id"))
        user = self.request.user
        self.initial = {"alert":alert.id, "user":user.id, "message":"test"}
        return self.initial


    def post(self, request, *args, **kwargs):
        super(MessageDialogView, self).post(request, *args, **kwargs)
        form_class = self.get_form_class()
        form = self.get_form(form_class)
        context = self.get_context_data(form=form)
        return self.render_to_response(context)
Run Code Online (Sandbox Code Playgroud)

这里的问题是self.initial没有使用表单呈现.我已经确保表单确实在调用get_initial,并且表单实例具有正确的初始数据post,但是当表单在模板中呈现时,message.html它不会像我期望的那样获取任何初始数据.是否有一个特殊的技巧让这个工作?我已经搜索了文档(似乎缺乏基于泛型的类视图的示例)和源代码,但我无法看到我所缺少的内容.

django-forms django-views django-class-based-views

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