小编Gui*_*rré的帖子

静态引用(带有::)返回接口的方法

我有几个实现相同方法的预定义静态"处理器",例如:

default double process(double num){
Run Code Online (Sandbox Code Playgroud)

样品:

public class Test {
    public static void main(String[] args) {
        test(Test::processor1, 1d);
        test(Test::processor2, 1d);
    }

    static double processor1(double num){
        return num * 10;
    }

    static double processor2(double num){
        return num * 20;
    }
    //...

    static void test(Function<Double, Double> f, double d){
        // Do something util here
        System.out.println(f.apply(d));
    }   
    ...
Run Code Online (Sandbox Code Playgroud)

现在假设我有一些对象可以提供额外的"处理器"列表.

我正在尝试使用a interface来定义那些额外的"处理器".

    static interface IProcessor{
        double process(double num);
    }
Run Code Online (Sandbox Code Playgroud)

使用附加"处理器"实现对象:

    static class SomeObject{
        // Just return one but should be a list...
        static …
Run Code Online (Sandbox Code Playgroud)

java java-8 functional-interface method-reference

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

将byte []转换为JsonObject

我想转换byteJsonObject.我试过这样的:

public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
    String testV=new JsonObject(new String(responseBody));
} 
Run Code Online (Sandbox Code Playgroud)

但我收到编译器错误:

JsonObject cannot be applied to java.lang.String
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java android

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

如何使用GORM在GO中预加载完整的层次结构

我有一个由几个结构组成的层次结构

type Entry struct {
    Id          int
    CreatedAt   time.Time
    UpdatedAt   time.Time
    Fields      []Field
}

type SyncField struct {
    Id                   int
    CreatedAt            time.Time
    UpdatedAt            time.Time
    TechnicalName        string
    JsonName             string
    EntryId              int
    Decorators           []Decorator
}

type Decorator struct {
    Id           int
    CreatedAt    time.Time
    UpdatedAt    time.Time
    Name         string
    Description  string
    SortingOrder int
    Params       string
    SyncFieldId  int
}
Run Code Online (Sandbox Code Playgroud)

我的数据库创建定义如下:

db.CreateTable(&Entry{})
db.CreateTable(&SyncField{})
db.Model(&Entry{}).Related(&SyncField{}, "EntryId")

db.CreateTable(&Decorator{})
db.Model(&SyncField{}).Related(&Decorator{}, "DecoratorId")
Run Code Online (Sandbox Code Playgroud)

一切都很清楚,并且可以正常预加载这样的层次结构中的一个"子级别":

entry := &Entry{Id: i}
iDB.Preload("SyncFields").First(entry)
Run Code Online (Sandbox Code Playgroud)

要么

field := &SyncField{Id: idf}
iDB.Preload("Decorators").First(field)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法,使用GORM预加载整个层次,在其中一个根元素上调用"First()"方法...我想加载一个"条目"及其所有相关的"字段",我也想要让每个"Field"预装所有"装饰者"......

使用几个"Preload()"函数是不可行的:

entry := &Entry{Id: i} …
Run Code Online (Sandbox Code Playgroud)

go go-gorm

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

一个活动中两个组件的依赖关系

我正在玩Dagger-2来计算如何将它集成到我们现有的应用程序中,我面临着一些我无法理解或者我做错的事情.

我的情况 :

3没有任何带注释的构造函数的API(每个都在自己的文件中)

public class DbApi {
   public void doSomething(String username, String password) {
   }
}

public class RestApi {
    public void doSomething(String username, String password) {
    }
}

public class SocketApi {
    public void doSomething(String username, String password) {
    }
}
Run Code Online (Sandbox Code Playgroud)

3个模块(每个模块都在自己的文件中)

@Module
public class DbModule {
    @Provides
    @Singleton
    public DbApi getDbApi(){
        return new DbApi();
    }
}

@Module
public class RestModule {
    @Provides
    @Singleton
    public RestApi getRestApi(){
        return new RestApi();
    }
}

@Module
public class SocketModule {
    @Provides …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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

Android:Kotlin TypeCastException:null无法强制转换为非null类型的kotlin.String

我是Kotlin的新手,我正在尝试开发一个音乐应用程序.

我收到了这个我无法解决的错误.当我打开我的应用程序时,会显示歌曲列表,点击一首歌曲,它会重定向到现在播放的屏幕,但点击下一个或上一个按钮,我的应用程序崩溃了.

logcat给出了一个我不明白的TypeCast错误.

守则如下:

class SongPlayingFragment : Fragment() {

var myActivity: Activity? = null
var mediaplayer: MediaPlayer? = null
var startTimeText: TextView? = null
var endTimeText: TextView? = null
var playpauseImageButton: ImageButton? = null
var previousImageButton: ImageButton? = null
var nextImageButton: ImageButton? = null
var loopImageButton: ImageButton? = null
var seekbar: SeekBar? = null
var songArtistView: TextView? = null
var songTitleView: TextView? = null
var shuffleImageButton: ImageButton? = null
var currentPosition: Int = 0
var fetchSongs: ArrayList<Songs>? = null
var …
Run Code Online (Sandbox Code Playgroud)

android android-fragments kotlin

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

如何将视图模型绑定到底板

我试图弄清楚如何将视图模型绑定到底部表,以便我可以使用视图模型上的可观察字段使底部表同时展开、折叠和隐藏。

谢谢!

android bottom-sheet android-viewmodel

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

不带时区的 PostgreSQL 时间戳和带时区的 java.util.Date 之间的比较

我想知道将如何执行以下查询中的比较:

StringBuilder queryStr = new StringBuilder();
queryStr.append("SELECT o FROM PRDBook as o WHERE ")
        .append("o.publicationDate < :now");

Query query = entityManager.createQuery(queryStr.toString());
Date now = new Date();
query.setParameter("now", now);
Run Code Online (Sandbox Code Playgroud)

在数据库中,列的publicationDate类型为timestamp without time zone。此列中的示例值:

2018-03-01 18:00:00
Run Code Online (Sandbox Code Playgroud)

结果now.toString()是:

Wed Aug 22 16:14:03 CEST 2018
Run Code Online (Sandbox Code Playgroud)

是否会以这种方式进行上述数据之间的比较:

2018-03-01 18:00:00 < 2018-08-22 16:14:03

或者那样:

2018-03-01 18:00:00 < 2018-08-22 14:14:03

java sql postgresql hibernate hql

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

append()中的"..."表示法不适用于附加不同类型的切片

我需要一个包含多种类型的抽象切片.最简化的代码是:

package main

import "fmt"

type A interface{}

type X string

func main() {
    sliceA := make([]A, 0, 0)
    sliceX := []X{"x1", "x2"}
    var appendedSlice []A
    appendedSlice = append(sliceA, sliceX[0], sliceX[1])  // (1) works
    appendedSlice = append(sliceA, sliceX...)             // (2) doesn't work
    fmt.Println(appendedSlice)

}
Run Code Online (Sandbox Code Playgroud)

在我的真实程序中,接口A定义了一些函数,X和其他类型实现了它.

第(2)行引发错误cannot use sliceX (type []X) as type []A in append.

我认为(2)是(1)的语法糖,但我可能遗漏了一些东西......我是否必须一个一个地将一个元素X添加到切片A中?

提前谢谢你们!

go

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