Tag: 数组

使用Kotlin在ArrayOfNulls中输入不匹配

将我的java代码转换为kotlin时遇到了问题。 这行代码是什么使我的问题 dots = arrayOfNulls<TextView>(layouts.size) 它说: 类型不匹配。 必需:数组(TextView)? – 发现:数组(TextView?) 让你在这里的整个代码,并希望你可以给我的手,弄清楚什么是错的。 class WelcomeActivity : AppCompatActivity() { private var viewPager: ViewPager? = null private var myViewPagerAdapter: MyViewPagerAdapter? = null private var dotsLayout: LinearLayout? = null private var dots: Array<TextView>? = null private var layouts: IntArray? = null private var btnSkip: Button? = null private var btnNext: […]

Kotlin:创建并引用真正的Java数组(对于JNA)

我想用Kotlin来使用JNA,而且我遇到了一个问题。 Caused by: java.lang.IllegalArgumentException: class [Lcom.sun.jna.platform.win32.WinDef$HMODULE; is not a supported argument type (in method EnumProcessModulesEx in class kotmem.unsafe.Psapi) 我的Psapi直接映射对象: package kotmem.unsafe import com.sun.jna.* import com.sun.jna.platform.win32.* import com.sun.jna.ptr.* object Psapi { // note Array<WinDef.HMODULE?> external fun EnumProcessModulesEx(process: Pointer, modules: Array<WinDef.HMODULE?>, cb: Int, neededModules: IntByReference, flags: Int): Boolean external fun GetModuleInformation(process: Pointer, module: WinDef.HMODULE, moduleInfo: LPMODULEINFO, cb: […]

如何在Kotlin中编写Java括号“”?

我提前道歉,因为我不知道我需要打字的东西是什么。 我有这个Java代码。 FrutasVerduras frutasVerduras_datos[] = new FrutasVerduras[] { } 这怎么写在Kotlin?

如何在Kotlin中为@PropertySource创建Java数组?

我正在尝试为我的基于Spring的应用程序配置@PropertySource。 在Java中,我可以做这样的事情: @PropertySource(value = {"application.properties","other.properties" }) 我在Kotlin中尝试过arrayOf ,但是最后我输入了一个类型不匹配的结果: @PropertySource(value = arrayOf("application.properties", "other.properties")) 什么是正确的方式去这里?

如何在Kotlin注释中声明数组值?

我在Kotlin创建自己的注释时遇到了一些问题。 我必须创建一些注释,并在其中一些我需要声明与数组类型的值。 在Java中,我们可以这样做: public @interface JoinTable { … JoinColumn[] inverseJoinColumns() default {}; … } JoinColumn也是一个注释类型。 我想在科特林做这样的事情: annotation class JoinTable( val name: String, val joinColumns: Array<JoinColumn> ) 我也试图做到这一点: annotation class JoinTable( val name: String, val joinColumns: List<JoinColumn> ) 但是我的IDe说: 注释成员的类型无效 我该怎么办? 谢谢!

Kotlin NDArray与一个带有泛型返回类型的lambda构造函数

我正在尝试在Kotlin中创建一个非常简单的通用NDArray类,它将lambda表达式作为init函数。 class NDArray<T>(i: Int, j: Int, f: (Int) -> T) { val values: Array<T> = Array(i * j, f) } 典型的用法是: fun main(args: Array<String>){ val m = NDArray(4, 4, ::zero) } fun zero(i: Int) = 0.0 我的问题是,Kotlin编译器抱怨在构造函数中初始化值 values = Array(i * j, f) 通过说“不能使用'T'作为通用类型参数。 为什么? 编辑: 如果我用我自己的MyArray替换Kotlin数组实现,它会编译: class NDArray<T>(i: Int, j: Int, f: (Int) -> […]

相当于c ++类数组的Kotlin

我试图找到在C ++中使用类库的Kotlin等价物 class Widget { public: int x; float w; } Widget data[100];

Kotlin 2d数组初始化

请看看我的2D阵列初始化。 代码工作。 class World(val size_x: Int = 256, val size_y: Int = 256) { var worldTiles = Array(size_x, { Array(size_y, { WorldTile() }) }) fun generate() { for( x in 0..size_x-1 ) { for( y in 0..size_y-1 ) { worldTiles[x][y] = WorldTile() } } } } 问题是它运行初始化两次。 基本上我想在generate()函数中实例化WorldTile-Object。 所以3号线不应该在那里叫“新WorldTile”。 我怎样才能做到这一点? 还有,正确的Kotlin穿越2d阵列的方式? 谢谢 :)

kotlin中数据类的等价方法

我有以下的数据类 data class PuzzleBoard(val board: IntArray) { val dimension by lazy { Math.sqrt(board.size.toDouble()).toInt() } } 我读了Kotlin中的数据类,可以免费获得equals()/ hashcode()方法。 我实例化了两个对象。 val board1 = PuzzleBoard(intArrayOf(1,2,3,4,5,6,7,8,0)) val board2 = PuzzleBoard(intArrayOf(1,2,3,4,5,6,7,8,0)) 但是下面的语句仍然返回false。 board1 == board2 board1.equals(board2)

在Kotlin拼合数组

我有一个节点的二维数组,我想使用Kotlin数组的flatten函数将其平铺到所有节点的单个数组中。 val nodes = kotlin.Array(width, { width -> kotlin.Array(height, { height -> Node(width, height) }) }) 然后我尝试调用二维数组上的扁平函数 nodes.flatten() 但我得到一个错误: Type mismatch: inferred type is Array<Array<Node>> but Array<Array<out ???>> was expected 。 还有另一种方法我应该这样做?