小编Sca*_*ass的帖子

Room IllegalArgumentException:int不能转换为Element

我在尝试编译项目时遇到此错误:

错误:任务':app:compileDebugJavaWithJavac'的执行失败.java.lang.IllegalArgumentException:int不能转换为Element

这个警告:

警告:注释处理器'android.arch.persistence.room.RoomProcessor'支持的源版本'RELEASE_7'小于-source'1.8'

这些是我的数据库相关类:

@Entity(tableName = "users")
public class SerializedUser {

    @PrimaryKey(autoGenerate = true)
    private int id;

    @ColumnInfo(name = "first_name")
    private String firstName;

    @ColumnInfo(name = "last_name")
    private String lastName;

    @ColumnInfo(name = "username")
    private String username;

    public SerializedUser(int id, String firstName, String lastName, String username) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.username = username;
    }

    public int getId() {
        return id;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    } …
Run Code Online (Sandbox Code Playgroud)

java android android-room

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

PHP 中对另一个对象的类成员引用

首先是代码,然后是问题:

class MyArray
{
    private $arrayRef;

    function __construct(&$array){
        $this->arrayRef = $array;
    }

    function addElement($newElement){
        $this->arrayRef[] = $newElement;
    }

    function print(){
        print_r($this->arrayRef);
    }
}

$array = ['first', 'second'];
$arrayObject = new MyArray($array);
$arrayObject->addElement('third');

print_r($array); // prints array containing 2 elements
echo '<br/>';
$arrayObject->print(); // prints array containing 3 elements
Run Code Online (Sandbox Code Playgroud)

在此示例中,类成员 $arrayRef 不能用作对构造函数中提供的另一个数组的引用。构造函数中的参数是通过引用传递的,但我想这并不会使成员 $arrayRef 也成为对该数组的引用。

为什么它不能那样工作以及如何让它工作?

如果您仍然不明白我的意思:第一个 print_r 打印包含 2 个元素的数组,即使它可能预期包含 3 个。当我通过 addElement() 将第三个元素传递给 $arrayObject 时,我也希望将其添加到我传递给类的构造函数的 $array 。

php reference

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

我想了解 web.php 中使用的 Route 类

所以,在Laravel中,有一个web.php文件,其中使用了Route类,并调用了它的静态函数get和matched。

问题是,这个类对我来说有点神秘,我在我的 laravel 项目中找不到它的源代码,我也无法在互联网上找到任何关于它的信息。如果你用谷歌搜索,你会找到 Illuminate\Routing\Route 但我认为这不是我要找的类,因为那个类没有静态函数 get 和 match。我也尝试在我的项目目录中查找它,我发现有四个具有此类名称的类,但它们都没有在我的 web.php 中使用的这些函数。

这是我的 web.php:

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/', 'BlogController@all')->name('post.all');

Route::match(['get', 'post'], '/article/create', 'BlogController@create')->name('post.create')
     ->middleware('auth');

Route::get('/article/{id}', 'BlogController@single')->name('post.single');

Route::match(['get', 'post'], '/article/{id}/delete', 'BlogController@delete')->name('post.delete')
     ->middleware('auth', 'author'); …
Run Code Online (Sandbox Code Playgroud)

php routes laravel

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

找不到稳定性稳定的包 /laravel/laravel

Could not find package /laravel/laravel with stability stable.
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试使用以下命令创建新的 laravel 项目时,出现了该错误:

composer create-project --prefer-dist /laravel/laravel project
Run Code Online (Sandbox Code Playgroud)

如果我尝试只使用 laravel 新项目,我会得到: laravel: command not found

但是 laravel 已安装,如果我移动到其安装文件夹(〜/.config/composer/vendor/laravel/installer),然后输入:

php laravel new project
Run Code Online (Sandbox Code Playgroud)

然后它就可以工作了,但我得到一堆*建议安装*。例如:

laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use psr7 bridging features (0.2.*).)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
Run Code Online (Sandbox Code Playgroud)

还有很多。

我使用的是 Linux Mint Cinnamon 64 位和 LAMP。

php linux laravel

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

如何将其他Python解释器设置为IPython

我们可以更改IPython使用的Python解释器的版本吗?

我知道有IPython和IPython3,但问题是,IPython使用Python2.7,而IPython3使用Python3.4.2,我认为没有办法改变它.

如果我希望IPython使用我想要的任何版本的Python解释器,我可以这样做吗?

我希望IPython使用最新的Python版本Python3.6.我能这样做吗?

python ipython

3
推荐指数
2
解决办法
3876
查看次数

IntelliJ IDEA中的Maven和JavaFX项目

我在试图在IntelliJ中配置Maven和JavaFX项目时遇到了麻烦.

首先我不知道该怎么做,所以我找到了以下解决方案:

  1. 像在Intellij中一样创建常规JavaFX项目
  2. 单击以下内容添加Maven支持:右键单击项目 - >"添加框架支持",然后选中Maven

在第一步应用程序工作之后(当然,因为它只是普通的JavaFX项目),然后在第二步包之后发生了变化,所以我不得不为每个类设置包; 我已经做到了,我没有看到任何错误.但当我尝试运行该应用程序时,我得到以下错误,在图片上:

我还将sample.fxml移动到资源文件夹.

也许我需要将groupId设置为某些东西,但我不知道是什么,我已经尝试将其设置为包的名称(示例),但它不起作用. 在此输入图像描述

其余代码:

Main.java:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        Parent root = FXMLLoader.load(getClass().getResource("../../resources/sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();

    }


    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

sample.fxml:

<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>
Run Code Online (Sandbox Code Playgroud)

Controller.java

package sample;

public class …
Run Code Online (Sandbox Code Playgroud)

javafx intellij-idea maven

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

无法重新加载另一个文件夹中的模块,也无法重新加载sys.path中的模块

我在重新加载另一个目录中但位于sys.path中的模块时遇到了一些麻烦。

>>> from module_from_another_dir import *
>>> from importlib import reload
>>> reload(module_from_another_dir)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'module_from_another_dir' is not defined
Run Code Online (Sandbox Code Playgroud)

如您所见,我可以导入它,但是以后不能重新加载它。

python import module reload

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

无法使用子类变量访问超类​​公共成员

因此,如果我有以下 Super 类:

class Super {
public:
    string member = "bla bla";
    void doSth() { cout << member; }
};
Run Code Online (Sandbox Code Playgroud)

还有一个继承 Super 的 Sub 类:

class Sub : Super {
public:
    string member2 = "bla bla 2";
};
Run Code Online (Sandbox Code Playgroud)

然后,当我有一个 Sub 对象时,我无法访问 Super 的成员,即使它们是公共的。

using namespace std;
int main(){
    Sub sub;
    cout << sub.member2 << endl;
    cout << sub.member << endl; // error: public Super::member is inaccessible 
    sub.doSth(); // error: public Super::doSth() is inaccessible 
}
Run Code Online (Sandbox Code Playgroud)

但为什么如果它们是公开的呢?或者我做错了什么?

c++ subclass superclass public-members

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